hdu-1034(模拟+小朋友分糖)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1034
参考文章:https://blog.csdn.net/zyy173533832/article/details/37990885
题意:如果老师要每个小朋友的糖的数目相同,进行如下调整:从0号小朋友开始,将自己的糖的一半分给他右手边的小朋友,
如果糖数是奇数,老师就给他一块糖。
求经过多少次操作得到每个小朋友的糖的数目相同,还有小朋友们糖的数目相同的时候每个小朋友得到多少糖。
思路:模拟,建立一个二维数组,分别存储要分得的糖和已经有的糖。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[][],n;
int pd()
{
int i;
for(i=;i<n;i++)
{
a[i][]+=a[i][];
if(a[i][]%) a[i][]++;
}
for(i=;i<n;i++)
{
if(a[i][]!=a[i-][]) return ;
}
return ;
}
int main(void)
{
int i;
while(~scanf("%d",&n))
{
if(n==) break;
memset(a,,sizeof(a));
for(i=;i<n;i++) scanf("%d",&a[i][]);
int ans=;
while()
{
if(pd()) break;
ans++;
for(i=;i<n;i++)
{
int r=(i+)%n;
a[r][]=a[i][]/;
a[i][]/=;
}
}
cout<<ans<<" "<<a[][]<<endl;
}
return ;
}
hdu-1034(模拟+小朋友分糖)的更多相关文章
- 刷题总结——分糖(ssoj 容斥原理+逆元+快速幂+组合数求插板)
		
题目: 题目描述 有 N 个(相同的)糖果,M 个(不同的)小朋友.M 和 N 满足:1≤M≤N≤100000(105).要求:1.每个小朋友都至少有一个糖果.2.不存在正整数 X(X>=2), ...
 - HDU  1034   Candy Sharing Game    (模拟)
		
题目链接 Problem Description A number of students sit in a circle facing their teacher in the center. Ea ...
 - HDU 1034(传递糖果 模拟)
		
题意是一群孩子围成一个圈,每个人把手中的糖果分一半给右边的人,若分过之后手中的糖果数是奇数,则由老师提供一颗糖果给他,问这样传递多少圈所有人的糖果数都能相等,最终每人手里的糖果数是多少. 由于题中已经 ...
 - hdu 4891 模拟水题
		
http://acm.hdu.edu.cn/showproblem.php?pid=4891 给出一个文本,问说有多少种理解方式. 1. $$中间的,(s1+1) * (s2+1) * ...*(sn ...
 - hdu 5012 模拟+bfs
		
http://acm.hdu.edu.cn/showproblem.php?pid=5012 模拟出骰子四种反转方式,bfs,最多不会走超过6步 #include <cstdio> #in ...
 - hdu 4669 模拟
		
思路: 主要就是模拟这些操作,用链表果断超时.改用堆栈模拟就过了 #include<map> #include<set> #include<stack> #incl ...
 - 2013杭州网络赛C题HDU 4640(模拟)
		
The Donkey of Gui Zhou Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
 - HDU 3683 模拟&搜索
		
给出五子棋残局,推断三步内能否分出胜负,玩家为当前该走旗子的颜色,下一步为白棋或黑棋不定. 依照顺序推断就可以: 1:推断棋盘是否合法,并确定玩家颜色 2:推断当前玩家颜色是否有一个必胜点,有玩家则在 ...
 - HDU/5499/模拟
		
题目链接 模拟题,直接看代码. £:分数的计算方法,要用double; #include <set> #include <map> #include <cmath> ...
 
随机推荐
- H5外部浏览器直接调起微信——通过url协议 weixin:// 判断是否安装微信及启动微信
			
前言: h5分享到微信,h5使用微信支付这些功能,都需要先判断是否安装微信客户端,如果已安装就启动微信,如果没有安装微信,就提示用户前去安装. 我们可以通过访问微信提供的URL协议(weixin:// ...
 - angular实现链接锚记
			
前言: 之所以这么说,是因为angular的路由将html默认的链接锚记的#给占用了,所以传统的链接锚记在这里将不再适用,这个有点坑啊,又要多写好几行代码来模拟这个功能. 实现原理: location ...
 - PAT L2-014 列车调度(最长上升nlogn)
			
火车站的列车调度铁轨的结构如下图所示. 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道.每趟列车从入口可以选择任意一条轨道进入,最后从出口离开.在图中有 ...
 - iOS 组件化流程详解(git创建流程)
			
[链接]组件化流程详解(一)https://www.jianshu.com/p/2deca619ff7e
 - xcode10 - 打ipa上蒲公英或者fire.im
			
1.选择空设备 2. 3. 4. 选择需要的 next 5. 6. 7. 8.选择位置 9. 选择ipa包 放到蒲公英 或者fire.im上 就行了
 - MySQL安装(windows版本)
			
1.下载.MySQL http://dev.mysql.com/downloads/mysql/ 下载windows的zip包,解压后,添加path路径bin, 系统环境变量->path-> ...
 - WebApi中Swagger的使用(超级简单)
			
Swagger解释 Swagger是一种Rest API的简单但强大的表示方式,她是标准的与语言无关,这种表示方式不但人可读,而且机器可读. 可以作为Rest API的交互式文档,也可以作为Rest ...
 - node.js中module模块的理解
			
node.js中使用CommonJS规范实现模块功能,一个单独的文件就是一个单独的模块.通过require方法实现模块间的依赖管理. 通过require加载模块,是同步操作. 加载流程如下: 1.找到 ...
 - Struts框架之结果页面的跳转
			
1. 结果页面存在两种方式 * 全局结果页面(有很多时候我们会跳转到同一页面,所以我们可以配置一个全局结果页面,不管什么情况都会跳转到这个页面) > 条件:如果<package>包中 ...
 - 前端基础之BOM和DOM     day52
			
前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互 ...