题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1205
提示:只要除了数目最多的糖果max之外,其余糖果数目的和(注意要用int64)加1大于等于max,则能吃完,否则不能。
C语言源码:
#include<stdio.h>
#include<math.h>
int main()
{
_int64 t,n,i,sum,max,a;
while(scanf("%I64d",&t)!=EOF)
{
while(t--)
{
scanf("%I64d",&n);
sum=0;
max=0;
for(i=1;i<=n;i++)
{
scanf("%I64d",&a);
sum+=a;
max=(max<a?a:max);
}
if(sum-max+1>=max)
printf("Yes\n");
else
printf("No\n");
}
}
}
本文介绍了一个经典的吃糖果问题,通过C语言实现了解决方案。问题的关键在于判断除最大数量的糖果外,其余糖果总数加一是否大于等于最大数量,以此来决定是否能够全部吃掉。
345

被折叠的 条评论
为什么被折叠?



