博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 4841 圆桌问题(STL vector)
阅读量:6232 次
发布时间:2019-06-22

本文共 1042 字,大约阅读时间需要 3 分钟。

Problem Description
圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。
 

 

Input
多组数据,每组数据输入:好人和坏人的人数n(<=32767)、步长m(<=32767);
 

 

Output
对于每一组数据,输出2n个大写字母,‘G’表示好人,‘B’表示坏人,50个字母为一行,不允许出现空白字符。相邻数据间留有一空行。
 

 

Sample Input
2 3 2 4
 

 

Sample Output
GBBG BGGB
 

 

Source

题意:中文题就不用了

思路:

       首先需要一个vector保存每个人,然后是一个vis数组来标记。

       找n个人,所以循环n次。定义一个cnt=0,每一次cnt+=m-1,

       如果cnt<=当前的总人数,则将v.erasev.begin()+cnt),visv.cnt】】=1,当前人数-1

      如果cnt>=当前人数,cnt%=(当前的总人数),v.erasev.begin()+cnt),visv.cnt】】=1,当前人数-1

      Visi=1 Bvisi=0G

 
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 using namespace std; 8 #define N 100000 9 int n,m;10 vector
v;11 int vis[N];12 int main()13 {14 while(scanf("%d%d",&n,&m)==2)15 {16 v.clear();17 memset(vis,0,sizeof(vis));18 int now=2*n;//总共的人数,下标从0开始 19 20 for(int i=0;i
View Code

 

 

 

转载地址:http://ebqna.baihongyu.com/

你可能感兴趣的文章
jquery的checkbox,radio,select等方法总结
查看>>
Linux coredump
查看>>
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
我的友情链接
查看>>
ElasticSearch 2 (32) - 信息聚合系列之范围限定
查看>>
VS2010远程调试C#程序
查看>>
[MicroPython]TurniBit开发板DIY自动窗帘模拟系统
查看>>
Python3.4 12306 2015年3月验证码识别
查看>>
从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
查看>>
windows查看端口占用
查看>>
Yii用ajax实现无刷新检索更新CListView数据
查看>>
JDBC的事务
查看>>
Io流的概述
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
作业:实现简单的shell sed替换功能和修改haproxy配置文件
查看>>
Altium 拼板方法以及 注意的 地方
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
python pip install 出现 OSError: [Errno 1] Operation not permitted
查看>>