码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 5463

时间:2016-01-30 02:21:26      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

题意:一个盒子有36个格子、每个格子可以装64个物品,搬运一个箱子是一次搬运,问最少到搬运次数

思路:直接求总需要多少个格子,然后去求盒子,这里求盒子呢有个小技巧,就是用ceil函数

 

 1 #include<iostream>
 2 #include<cmath>
 3 #include<cstring>
 4 using namespace std;
 5 int num[10000];
 6 int main()
 7 {
 8     int t;cin >> t;
 9     while(t--)
10     {    
11         int n;cin >> n;
12         memset(num,0,sizeof(num));        //每次需要清零 、 
13         int mmax;
14         mmax=0;
15         for(int i=0;i<n;++i){
16             int a,b;cin >> a >> b;    
17             num[a]+=b;                 //统计每一个种类的总数、 
18             if(a>mmax)    mmax=a;        //记录最大的种类数字 、 
19         }
20         int tot=0;
21         for(int i=0;i<=mmax;++i){
22             if(num[i]!=0)
23                 tot+=ceil(1.0*num[i]/64);     
24         }
25         cout << ceil(1.0*tot/36) << endl;
26     }
27 }

ceil函数包含在头文件“cmath”,ceil(),括号里面要是实数,求是的大于等于这个实数的最大整数,很多想这类种类问题都可以用ceil函数来求解

 

HDU 5463

标签:

原文地址:http://www.cnblogs.com/sasuke-/p/5170124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!