当前位置:网站首页>ZCMU--1862: zbj的狼人杀
ZCMU--1862: zbj的狼人杀
2022-07-31 07:11:00 【小小小Why】
Description
这天zbj和小伙伴总共n个人出去玩狼人杀,玩的正开心的时候又来了一群人总共n个,硬是要跟他们一起玩,所以他们想了一个游戏规则准备赶走他们。规则是这样的,所有人坐在圆桌旁,从第一个人开始报数,数到第m个人,则这个人出局;然后从出局的人之后开始数数,再将数到的第m个人出局.....依次方法不断出局,直到最后只剩n个人,这时候,zbj希望剩下的n个人是他和他的小伙伴们,试问预先应该怎么安排座位,能使得他完成心愿?
Input
多组数据,每组数据输入:人数n(<=100000)、步长m(<=32767);
Output
对于每一组数据,输出2n个大写字母,‘A’表示zbj和他的小伙伴,‘B’表示外来的那群人,50个字母为一行,不允许出现空白字符。相邻数据间留有一空行。
Sample Input
2 3
2 4
Sample Output
ABBA
BAAB
解析:B其实就是淘汰的人,用vector来十分方便,我们开一个数组a[ ]来记录每个人是A还是B,最开始全部设为A,然后利用vector来模拟淘汰,每次淘汰前将其对应编号的a[ ]标记为B,最后按格式输出即可。
#include <stdio.h>
#include <vector>
using namespace std;
vector<int> v;
char a[200005];//来存放每个人对应是A还是B
int main()
{
int n,m,i,p;
while(~scanf("%d%d",&n,&m)){
p=0;
v.erase(v.begin(),v.end()); //初始化清空
for(i=1;i<=2*n;i++) v.push_back(i),a[i]='A';//先全部设为A,后面出局了更新为B
while(1){
p=(m+p-1)%v.size(); //第p个人淘汰了,要从下一个开始数,所以要带着p算出下一个淘汰的人
if(p<0) p=v.size()-1;//特判一下,小于0时,就是最后一个人
a[*(v.begin()+p)]='B'; //对应位置为B
v.erase(v.begin()+p); //此人出局
if(v.size()==n) break; //出局n个人,游戏结束
}
p=0;
for(i=1;i<=2*n;i++){
printf("%c",a[i]);
p++;
if(p==50) printf("\n"),p=0; //满50换一行
}
printf("\n\n"); //要多一个空行
}
return 0;
}边栏推荐
- Jetpack Compose学习(8)——State及remeber
- [Interview: Concurrency 37: Multithreading: Thread Pool] Custom Thread Pool
- 正则表达式绕过
- opencv、pil和from torchvision.transforms的Resize, Compose, ToTensor, Normalize等差别
- 2022.07.18_每日一题
- Linux redis6.2.6 configuration file
- [PSQL] Complex query
- 关于yum源的配置及更新
- navicat 新建数据库
- mysql的建表语句_三种常用的MySQL建表语句
猜你喜欢
随机推荐
深度学习通信领域相关经典论文、数据集整理分享
MySQL detailed explanation
Chapter 9 Exceptions try...except...else...finally
Fund investment advisory business
XSS靶场prompt.ml过关详解
实用生物信息学2:多组学数据整合和挖掘
2022.07.14_Daily Question
客户端navicat安装教程
Shell编程之条件语句
2022.07.20_每日一题
2022.07.13_每日一题
Visual Studio新功能出炉:低优先级构建
Read Elephant Swap in one article, why does it bring such a high premium to ePLATO?
Leetcode952. Calculate maximum component size by common factor
7/28-7/29 Expectation + thinking + suffix array + ST table
个人报错问题 持续总结
Linux redis6.2.6 configuration file
Collation and sharing of related classic papers and datasets in the field of deep learning communication
First acquaintance with NK-RTU980 development board
regex bypass
![[PSQL] SQL基础教程读书笔记(Chapter1-4)](/img/76/d416f79b7f2c93c1c79a285c30d3e6.png)







