ZOJ 1814/HDU 1034/POJ 1666 Candy Sharing Game
来源:互联网 发布:西安交大管晓宏 知乎 编辑:程序博客网 时间:2024/04/30 12:41
题目链接:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1814
http://acm.hdu.edu.cn/showproblem.php?pid=1034
http://poj.org/problem?id=1666
题意:
题目说的是一个分糖果的游戏,n个学生围成一圈,每个人手上有a[i]个糖果,每一轮游戏开始时,学生手中的糖果都是偶数,他们都把自己手中一半的糖果分给他右边的同学。分完后手中糖果数是奇数的,老师会给他一颗糖果。如果所有人手中的糖果数都一样 游戏结束。
输出总共进行了多少轮游戏 还有最后学生手中的糖果数。
注意:给别人糖果的一半不包括老师给的那颗凑偶数的,,,,就这么把我卡了好久。。
代码:
#include<iostream>#include<cstdio>using namespace std;int main(){ int a[105]; int n; while(scanf("%d",&n) && n!=0) { int count=0; for(int i=0;i<n;i++) scanf("%d",&a[i]); int maxx,minn; maxx=minn=a[0]; for(int i=1;i<n;i++) { maxx=max(maxx,a[i]); minn=min(minn,a[i]); } if(maxx==minn) printf("0 %d\n",maxx); else { cc: int t=a[0]/2; for(int i=1;i<n;i++) { int p=a[i]/2; a[i]=a[i]/2+t; t=p; if(a[i]%2) a[i]++; } a[0]=a[0]/2+t; if(a[0]%2) a[0]++; count++; for(int j=1;j<n;j++) if(a[0]!=a[j]) goto cc; printf("%d %d\n",count,a[0]); } } return 0;}
0 0
- ZOJ 1814/HDU 1034/POJ 1666 Candy Sharing Game
- zoj 1814 || poj 1666 Candy Sharing Game
- POJ-1666:Candy Sharing Game
- POJ-1666-Candy Sharing Game
- poj 1666 Candy Sharing Game
- POJ - 1666 Candy Sharing Game
- hdu 1034 Candy Sharing Game
- hdu 1034 Candy Sharing Game
- HDU 1034 Candy Sharing Game
- HDU 1034 Candy Sharing Game
- hdu 1034 Candy Sharing Game
- hdu 1034 Candy Sharing Game
- hdu 1034 Candy Sharing Game
- HDU 1034 Candy Sharing Game
- 【HDU】 1034 Candy Sharing Game
- HDU:1034 Candy Sharing Game
- HDU 1034 Candy Sharing Game
- HDU 1034 Candy Sharing Game
- Android Studio系列教程一--下载与安装
- [关于生活和时间管理]--有感于结婚这段时间导致的疲倦和注意力分散
- 一个操作系统的实现——笔记1
- 庆祝全球“双HCIE”诞生于YESLAB YESLAB携手华为官方平台,全网授课
- django分页技术Paginator(进阶篇)
- ZOJ 1814/HDU 1034/POJ 1666 Candy Sharing Game
- android studio 不能生成apk:Gradle build finished with 1 error(s) in 5 sec Unexpected error Local path do
- Android Studio系列教程二--基本设置与运行
- jsp 表单(form)传递数据
- 第一篇文章算个纪念
- Android Studio系列教程三--快捷键
- js如何实现跨域访问
- Android Studio系列教程四--Gradle基础
- openssl常用命令