圆桌问题(hdu4841)
2024-10-09 22:15:13
圆桌问题
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 1038 Accepted Submission(s): 446
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
GBBGBGGB 模拟一下就可以了,删除队列中的元素用vector。 先出来的p个人都是B.1 #include<stdio.h> 2 #include<algorithm> 3 #include<iostream> 4 #include<string.h> 5 #include<math.h> 6 #include<vector> 7 #include<queue> 8 #include<stack> 9 using namespace std;10 vector<int>my;11 int a[80000];12 char paidui[80000];13 int main(void)14 {15 int n,i,j,k,p,q;16 int cnt;17 int id;18 int ans;19 int uu;20 while(scanf("%d %d",&p,&q)!=EOF)21 {22 cnt=0;23 ans=1;24 memset(paidui,0,sizeof(paidui));25 my.clear();26 int countt=2*p;27 for(i=1; i<=2*p; i++)28 {29 my.push_back(i);30 }31 int biao=q%(2*p);//biao表示删除的下标32 uu=1;//表示在某次操作前要删除的元素,33 while(cnt<p)34 {35 if(biao==0)36 {37 biao=countt;38 countt-=uu;39 uu=0;40 a[cnt++]=my[biao-1];41 my.erase(my.end()-1);42 biao=q%countt;43 uu++;44 }45 else46 {47 if(biao+q>countt)48 {49 int vc=q;50 vc-=(countt-biao);51 a[cnt++]=my[biao-uu];52 my.erase(my.begin()+biao-uu);53 countt-=uu;54 biao=vc%countt;55 uu=0;56 uu++;57 58 }59 else60 {61 a[cnt++]=my[biao-uu];62 my.erase(my.begin()+biao-uu);63 biao=(biao+q)%countt;64 uu++;65 }66 }67 68 }69 for(i=0; i<cnt; i++)70 {71 paidui[a[i]]='B';72 }73 for(i=1; i<=2*p; i++)74 {75 if(!paidui[i])76 {77 paidui[i]='G';78 }79 }80 for(i=1; i<=2*p; i++)81 {82 printf("%c",paidui[i]);83 if(i%50==0)84 printf("\n");85 }86 printf("\n");printf("\n");87 }88 return 0;89 }
最新文章
- 我和linux的第二十二天
- 安装最新版本的PHPUnit后,不能使用
- [Java] Java解析XML格式Response后组装成Map
- [书]WALL&#183;E、龙与地下铁、中国美丽的故事、故事新编、四十自述、书虫、人工智能、大话数据结构
- eclipse 安装git
- android模拟器(genymotion)+appium+python 框架执行基本原理(目前公司自己写的)
- D2 前端技术论坛总结(下)
- 《jQuery、jQuery UI及jQuery Mobile技巧与示例》勘误收集
- C# winform 实现 qq 在屏幕边缘 自动隐藏 鼠标移过去 移上去 又自动显示
- CODEFORCES掉RATING记 #4
- C#串口通信遇到的坑
- table中表头不动,表体产生滚动条
- ATM+购物车商城
- 【转】TCP三次握手和四次挥手全过程及为什么要三次握手解答
- 项目复审-Bata阶段
- 网页制作中最有用的免费Ajax和JavaScript代码库
- AndroidManifest.xml权限设置
- 3PC
- filter入门
- eclipse配置storm1.1.0开发环境并本地跑起来