CodeForce-792B Counting-out Rhyme(模拟)
Counting-out Rhyme
题意:
n 个孩子在玩一个游戏。 孩子们站成一圈,按照顺时针顺序分别被标号为 1 到 n。开始游戏时,第一个孩子成为领导。 游戏进行 k 轮。 在第 i 轮中,领导会从他顺时针方向下一个孩子开始数 ai 个孩子。最后数到的那个孩子出局,再下一个孩子成为新的领导。
举个例子, 现在圈内还剩 [8, 10, 13, 14, 16] 4个孩子,领导编号为 13 , ai = 12。那么出局的孩子为 16 。第 8 个孩子成为下一个领导。
你需要写一个代码模拟这个过程,求出每轮比赛出局的孩子。
第一行包含两个整数 n 和 k (2 ≤ n ≤ 100, 1 ≤ k ≤ n - 1).
第二行包含 k 个整数 a1, a2, ..., ak (1 ≤ ai ≤ 109).
Output
输出 k 个整数,第 i 个整数表示第 i轮出局的孩子。
直接模拟一遍就好,对于k轮中的每一轮,先计算要往后数多少个人,找出出局者,然后再往后找新的领导者,重复循环即可。
#include<iostream>
using namespace std;
#define maxn 110
int a[maxn]={0};
int main()
{
int n,k,x;
cin>>n>>k;
int cnt,first=1,ans;
for(int j=0;j<k;j++)
{
cin>>x;
cnt=x%(n-j);//n-j表示本轮还剩n-j个人
if(cnt==0)//出局者是领导者自己
cnt=n-j;
for(int i=first+1;;i++)
{
if(i>n)
i=1;
if(a[i]==0)
cnt--;
if(cnt==0)//找到最后一个人
{
a[i]=1;
ans=i;
for(int l=i+1;;l++)//寻找下一个领导者
{
if(l>n)
l=1;
if(!a[l])
{
first=l;
break;
}
}
break;
}
}
cout<<ans<<" ";
}
return 0;
}
CodeForce-792B Counting-out Rhyme(模拟)的更多相关文章
- Codeforce 287A - IQ Test (模拟)
In the city of Ultima Thule job applicants are often offered an IQ test. The test is as follows: the ...
- ZOJ 2392 The Counting Problem(模拟)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1368 题目大意:计算从S到T中所有的数,其中0,1,2,3,4,5, ...
- poj 题目分类(1)
poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...
- POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)
本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 转载:poj题目分类(侵删)
转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码) ...
- Codeforces 792B. Counting-out Rhyme
B. Counting-out Rhyme time limit per test: 1 second memory limit per test: 256 megabytes input: stan ...
- ZOJ3944 People Counting ZOJ3939 The Lucky Week (模拟)
ZOJ3944 People Counting ZOJ3939 The Lucky Week 1.PeopleConting 题意:照片上有很多个人,用矩阵里的字符表示.一个人如下: .O. /|\ ...
- Codeforce#354_B_Pyramid of Glasses(模拟)
题目连接:http://codeforces.com/contest/676/problem/B 题意:给你一个N层的杯子堆成的金字塔,倒k个杯子的酒,问倒完后有多少个杯子的酒是满的 题解:由于数据不 ...
随机推荐
- 『Java』Collection接口 Collections类
接口Collection public interface Collection<E>定义了所有单列集合中共性的方法,所有的单列集合都可以使用共性方法. Collection的常用子接口有 ...
- Linux中的DNS主从解析
目录 一.主服务器配置(紧接着正反解析实验) 1.1.修改区域配置文件 二.从服务器配置(启动另一台虚拟机) 2.1.安装服务 2.2.修改主配置文件 2.3.修改区域配置文件 2.4.修改dns服务 ...
- Android消息机制1-Handler(Java层)
一.概述 在整个Android的源码世界里,有两大利剑,其一是Binder IPC机制,,另一个便是消息机制(由Handler/Looper/MessageQueue等构成的). Android有大量 ...
- IDEA中Maven的使用初探
Maven Maven官网:https://maven.apache.org/ Apache Maven 是一个软件项目管理和理解工具.基于项目对象模型 (POM) 的概念,Maven 可以从一条中央 ...
- Python成员运算,身份运算和流程控制
成员运算 in #判断--在--里面 print('a' in 'abcd') # 字符串判断a是否在abcd里面 print('you' in 'how are you') # 这种整体也可以判断 ...
- noip模拟12[简单的区间·简单的玄学·简单的填数]
noip模拟12 solutions 这次考试靠的还是比较好的,但是还是有不好的地方, 为啥嘞??因为我觉得我排列组合好像白学了诶,文化课都忘记了 正难则反!!!!!!!! 害没关系啦,一共拿到了\( ...
- ReentrantLock中的Condition(等待和唤醒)
Condition 类的 awiat 方法和 Object 类的 wait 方法等效 Condition 类的 signal 方法和 Object 类的 notify 方法等效 Condition 类 ...
- Java线程池中submit()和execute()方法有什么区别
两个方法都可以向线程池提交任务,execute()方法的返回类型是void,它定义在Executor接口中,而submit()方法返回有计算结构的Future对象,它定义在ExecutorServic ...
- javascript(js)反转字符串
网上看到的都是这个写法较多: str.split('').reverse().join(''); 这里发现一个ES6的写法也可以达到同样的效果: Array.from(str).reverse().j ...
- qt 中的QlistWidget