这题是道简单的模拟题,直接模拟游戏过程就可以了。
#include<stdio.h>
int main()
{
int n,i,tem,a[100],r;
bool bo;
scanf("%d",&n);
while(n)
{
r=0;
bo=false;
for (i=0;i<n;i++)
{
scanf("%d",&a[i]);
a[i]=a[i]/2;
}
while (!bo)
{
tem=a[n-1];
for (i=n-1;i>=1;i--)
{
a[i]+=a[i-1];
if (a[i]%2==1) a[i]++;
}
a[0]+=tem;
if (a[0]%2==1) a[0]++;
r++;
bo=true;
for (i=0;i<n-1;i++)
if (a[i]!=a[i+1])
{
bo=false;
break;
}
if (!bo) for (i=0;i<n;i++) a[i]/=2;
}
printf("%d %d\n",r,a[0]);
scanf("%d",&n);
}
return 0;
}

本文介绍了一道简单的编程题,题目要求通过模拟游戏过程解决问题。通过输入玩家的动作序列,程序将根据规则进行计算并输出结果。

1290

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



