HDU_5463 Clarke and minecraft

来源:互联网 发布:nba2kol刷球星软件 编辑:程序博客网 时间:2024/03/29 04:40

看来英文还是不行啊!一个题目看了半天才看懂,大水题一个。

不过学到了一个好的方法来处理整除情况,菜鸟VS大神。


代码:


#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<iostream>
#include<string>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long ll;
#define INF 0x3f3f3f3f
#define Pi acos(-1.0)
double Deg2Rad(double deg){return (deg*Pi/180.0);}
double Rad2Deg(double rad){return (rad*180.0/Pi);}
double ArcSin(double val){return Rad2Deg(asin(val));}
double ArcCos(double val){return Rad2Deg(acos(val));}
double Sin(double deg){return sin(Deg2Rad(deg));}
double Cos(double deg){return cos(Deg2Rad(deg));}
int gcd(int a,int b)
{
return b==0 ? a : gcd(b,a%b);
}
int aa[550];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n;
scanf("%d",&n);
int a,b;
memset(aa,0,sizeof(aa));
for(int i=0;i<n;i++)
{
scanf("%d%d",&a,&b);
aa[a]+=b;
}
int grid=0;
for(int i=1;i<=500;i++)
{
if(aa[i])
{
if(aa[i]%64)
grid+=(int)ceil((aa[i]/64.0));
else
grid+=aa[i]/64;
// grid+=(aa[i]/64+(aa[i]%64 ? 1:0));
}
}
int ans;
if(grid%36)
ans=(int)ceil(grid/36.0);
else
ans=grid/36;
// ans=grid/36+(grid%36 ? 1 : 0);


printf("%d\n",ans);
}
return 0;
}

0 0