http://acm.hdu.edu.cn/showproblem.php?pid=1034
2013-05-28 17:07
351 查看
题目意思:有输入N在第一行,然后接下来的有N行,分别是N个人的糖果数,而且老师一吹口哨,每个人都给自己右边的人二分之一自己的糖果数,如果分后糖果数量为奇数,则老师在给他一颗糖,直到每人的糖果数相等为止,问:这样老师要吹多少次口哨,并且此时糖果数为多少?
思路:首先由题可知:a[1]=a[1]/2+a
/2;则a[i]=a[i]/2+a[i-1]/2;这样循环,(直到i==n)为止。
一下为AC代码:注意循环时啊a[i]不可直接与前后数字相除,而是要转化下,为吧a[i]=b[i]/2;这样不易出错,当你没把啊a[i].转化时,可能会出错,我当时就出错了,结果就是对不到答案!因此,,,
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int a[1001],b[1001];
int main()
{
int i,t,n;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int flag=1;int k=0;
while(1)
{
k++;
for(i=0;i<n;i++)//注意一下步骤!
{
b[i]=a[i]/2;//此处要注意!
}
for(i=1;i<n;i++)
{
a[i]=b[i]+b[i-1];
if(a[i]%2!=0)
a[i]++;
}
a[0]=b[0]+b[n-1];//不要漏掉第一个人,和最后一个人。
if(a[0]%2!=0)
a[0]++;//接下来寻找出是否全相等!
int t=a[0];
for(i=1;i<n;i++)//注意应该从第二个人开始!
if(t!=a[i])
{
flag=0;break;
}
if(flag)
{
printf("%d %d\n",k,t);
break;
}
else
flag=1;
}
}
return 0;
}
思路:首先由题可知:a[1]=a[1]/2+a
/2;则a[i]=a[i]/2+a[i-1]/2;这样循环,(直到i==n)为止。
一下为AC代码:注意循环时啊a[i]不可直接与前后数字相除,而是要转化下,为吧a[i]=b[i]/2;这样不易出错,当你没把啊a[i].转化时,可能会出错,我当时就出错了,结果就是对不到答案!因此,,,
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int a[1001],b[1001];
int main()
{
int i,t,n;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int flag=1;int k=0;
while(1)
{
k++;
for(i=0;i<n;i++)//注意一下步骤!
{
b[i]=a[i]/2;//此处要注意!
}
for(i=1;i<n;i++)
{
a[i]=b[i]+b[i-1];
if(a[i]%2!=0)
a[i]++;
}
a[0]=b[0]+b[n-1];//不要漏掉第一个人,和最后一个人。
if(a[0]%2!=0)
a[0]++;//接下来寻找出是否全相等!
int t=a[0];
for(i=1;i<n;i++)//注意应该从第二个人开始!
if(t!=a[i])
{
flag=0;break;
}
if(flag)
{
printf("%d %d\n",k,t);
break;
}
else
flag=1;
}
}
return 0;
}
相关文章推荐
- http://acm.hdu.edu.cn/showproblem.php?pid=1787 典型 欧拉函数(为何c++ 那样会RE)
- http://acm.hdu.edu.cn/showproblem.php?pid=1754 更新节点,区间最值
- Number Sequence&&http://acm.hdu.edu.cn/showproblem.php?pid=1005
- http://acm.hdu.edu.cn/showproblem.php?pid=1540 更新节点,询问节点所在的位置有多少连续的区间
- Oulipo(http://acm.hdu.edu.cn/showproblem.php?pid=1686)
- hdu 2099 整数的尾数 http://acm.hdu.edu.cn/showproblem.php?pid=2099
- http://acm.hdu.edu.cn/showproblem.php?pid=1710
- http://acm.hdu.edu.cn/showproblem.php?pid=2841 题意很简单
- http://acm.hdu.edu.cn/showproblem.php?pid=2544
- http://acm.hdu.edu.cn/showproblem.php?pid=1299 (求因子个数)
- http://acm.hdu.edu.cn/showproblem.php?pid=2674 (很神奇)
- http://acm.hdu.edu.cn/showproblem.php?pid=1166 更新节点,区间求和
- http://acm.hdu.edu.cn/showproblem.php?pid=4514
- http://acm.hdu.edu.cn/showproblem.php?pid=1255 扫描线 + 线段树 +离散化
- FatMouse' Trade http://acm.hdu.edu.cn/showproblem.php?pid=1009
- 并查集 小希的迷宫http://acm.hdu.edu.cn/showproblem.php?pid=1272
- http://acm.hdu.edu.cn/showproblem.php?pid=4477
- N! http://acm.hdu.edu.cn/showproblem.php?pid=1042
- 亲和串 http://acm.hdu.edu.cn/showproblem.php?pid=2203
- http://acm.hdu.edu.cn/showproblem.php?pid=2094