51Nod 1596 搬货物
Posted 谦谦君子,陌上其华
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod 1596 搬货物相关的知识,希望对你有一定的参考价值。
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1596
思路:
模拟二进制的进位。
这题很坑啊...用c++会超时,用c就行了...
1 #include<stdio.h> 2 #include<string.h> 3 4 const int maxn=1e6+1000; 5 6 int w[maxn]; 7 8 int main() 9 { 10 //freopen("D:\\\\input.txt","r",stdin); 11 int n; 12 while(scanf("%d",&n)!=EOF) 13 { 14 memset(w,0,sizeof(w)); 15 int x; 16 while(n--) 17 { 18 scanf("%d",&x); 19 w[x]++; } 20 int sum=0; 21 for(int i=0;i<maxn;i++) 22 { 23 if(w[i]>1) 24 { 25 w[i+1]+=w[i]/2; 26 w[i]%=2; 27 } 28 if(w[i]==1) sum++; 29 } 30 printf("%d\\n",sum); 31 } 32 return 0; 33 }
以上是关于51Nod 1596 搬货物的主要内容,如果未能解决你的问题,请参考以下文章