
【HDU 4841】 圆桌问题
发布日期:2021-05-04 19:23:51
浏览次数:20
分类:原创文章
本文共 1033 字,大约阅读时间需要 3 分钟。
A - 圆桌问题
圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。
Input
多组数据,每组数据输入:好人和坏人的人数n(<=32767)、步长m(<=32767);
Output
对于每一组数据,输出2n个大写字母,‘G’表示好人,‘B’表示坏人,50个字母为一行,不允许出现空白字符。相邻数据间留有一空行。
Sample Input
2 32 412
Sample Output
GBBGBGGB12
代码:
vector的删除(难点:格式)
#include <iostream>#include <algorithm>#include <string>#include <queue>#include <cstring>#include <cmath>#include <vector>#include <set>#include <map>using namespace std;int main() { int n,m; while(scanf("%d%d",&n,&m)!=EOF) { vector<int> v; int kill=0,now=0,p=0; for(int i=0;i<2*n;i++) v.push_back(i); while(kill<n) { now = (now+m-1)%v.size(); v.erase(v.begin()+now); kill++; } for(int i=0; i<2*n; i++) { if(!(i % 50) && i) cout << endl; if(p<v.size() && i==v[p]) { p++; cout << "G"; } else cout << "B"; } cout<<endl<<endl; } return 0;}
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年03月28日 20时37分18秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
(JAVA常用类库)CharSequence接口
2019-03-04
(Java基础类库 )System类
2019-03-04
context:include-filter与exclude-filte控制扫描组件
2019-03-04
Two Day今日程序学习记录->关于指针的一点问题以及16进制转10进制
2019-03-04
《Java---------java环境搭建》
2019-03-04
【SSL】1203书的复制(normal)
2019-03-04
【SSL】1072砝码称重
2019-03-04
【SSL】2294打包
2019-03-04
标程_高精度运算
2019-03-04
【SSL】1033&【洛谷】P1040加分二叉树
2019-03-04
js数据结构--队列--常见操作
2019-03-04
JS数据结构--单向链表--常见操作
2019-03-04
【SSL】1606&【洛谷】P2014选课
2019-03-04
JS数据结构--双向链表--常见操作
2019-03-04
【SSL】1230&【洛谷】P2016战略游戏
2019-03-04
洛谷P1377树的序
2019-03-04
高阶函数-语法糖-lambda(三分钟读懂)
2019-03-04
vue的computed单向绑定(如淘宝的购物车中使用)
2019-03-04
vue双向绑定
2019-03-04
vue写自定义指令(全局或者组件内部)
2019-03-04