Description
WW同学最近迷上了麻将,他总是自称雀神,他的欢乐豆数量会在凌晨刷新为N,然后WW同学就会进入快乐的雀神之旅,WW同学每开始一局麻将,就要付出640欢乐豆作为门票钱,每一局他都会得到或失去一些欢乐豆,当现有欢乐豆不足以支付门票时,WW不能将继续游戏。WW同学今天计划打M局游戏,请输出他最后停止游戏时所拥有的欢乐豆。
Input
题目为多组输入
第一行两个整数N和M(640≤n≤10^6,1<=M<=1000)
第二行会有M个整数a,代表WW每局游戏得到或者失去的欢乐豆数量(-106≤a≤106)
Output
输出WW最后停止游戏时所拥有的欢乐豆数量(所拥有欢乐豆数量不能为负,跟游戏机制相同)
Samples
input
1300 2
200 300
output
520
input
1500 4
200 -200 200 300
output
220
Hint
因为WW同学的技术问题,他可能无法进行完M局游戏,因为他的欢乐豆数量可能无法支付下一场门票钱。
对于样例二 在经历第一局后 WW所拥有的欢乐豆数量为1500-640+200=1060,在经历第二局后 WW所拥有的欢乐豆数量为1060-640-200=220,无法进行下一局。
思路
首先是注意多组输入,然后再根据题目的内容进行模拟,最后不要漏掉“所拥有欢乐豆数量不能为负”这句话即可。
#include<stdio.h>
int main()
{
int N,M,hld=640;
while(scanf("%d%d",&N,&M)!=EOF)
{
int a[1010];
for(int i=1;i<=M;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<=M;i++)
{
if(N<hld)
{
break;
}
N=N-hld+a[i];
}
if(N<0)
{
N=0;
}
printf("%d\n",N);
}
return 0;
}
这篇博客介绍了一位自称雀神的WW同学在麻将游戏中的欢乐豆变化情况。每局游戏开始需支付640欢乐豆,游戏结束后会获得或失去一定数量的欢乐豆。如果欢乐豆不足640,游戏结束。博客提供了多组输入示例,并提示需要注意模拟过程及欢乐豆不能为负的条件。

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



