1205 鸽巢原理
//思路:把所有糖果分成兩堆,一堆是數目最多的一種糖果max,另外一堆是剩下的所有糖果之和r。
//如果 max > r+1 則表示不能按題目要求把糖果吃完。
#include?<stdio.h>
#include?<stdlib.h>
int?main()
{
?freopen("acm.txt","r",stdin);
?int?n,m,i;
?__int64?sum,f,max,r;
?scanf("%d",&n);
?while(?n--?)
?{
??scanf("%d",&m);
??sum=0;?max=0;
??for(i=0;i<m;i++)
??{
???scanf("%I64d",&f);
???if(?f>max?)
????max=f;//保存數目最多的一種糖果
???sum=sum+f;//sum保存所有糖果之和
??}
??r=sum-max;//剩下的所有糖果之和
??if(?max>r+1?)
???printf("No\n");
??else
???printf("Yes\n");
?}
?return?0;
}
轉載于:https://www.cnblogs.com/anderson0/archive/2009/05/13/1455337.html
總結
- 上一篇: 使用ISA2004发布多个Web站点之二
- 下一篇: shell入门基础必备