您的位置:首页 > 其它

蓝桥杯往届试题--分糖果 简单的思维题目

2016-03-02 19:58 169 查看
本题为一道简单的思维题目,就是组成了一个圈,每个人 把他的糖果的一半给他左面的人,别忘了最后一个人的糖果要给第一个一半,另外一个要注意的地方便是(每一个人的初始糖果给别人一半,并不是接受了别人的糖果以后再给别人一半),知道了上述的条件,我想本题应该很简单了。下面附上本渣渣的AC代码

#include<cstdio>
#include<iostream>
using namespace std;

int sum=0;
int n;
int a[1005];

int main()
{
while(cin>>n)
{
for(int i=1; i<=n; i++)
{
cin>>a[i];
}
for(int m=1; m<=100; m++)
{
int cnt=a[1];
for(int i=1; i<n; i++)
{
a[i]=a[i]+(a[i+1]/2);
a[i+1]=a[i+1]/2;
}
a
=a
+cnt/2;
a[1]=a[1]-(cnt/2);
for(int i=1; i<=n; i++)
{
if(a[i]%2!=0)
{
a[i]++;
sum++;
}
}
int s=0;
for(int i=1; i<n; i++)
{
if(a[i]==a[i+1])
{
s++;
}
}
if(s==n-1)
{
break;
}
}
cout<<sum<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: