hdu 4841 圆桌问题

简介: hdu 4841 圆桌问题

圆桌问题


(约瑟夫环的变性)


圆桌上围坐着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


代码:


#include<stdio.h>
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
int main()
{
  vector<int> table;
  int n, m;
  while (cin>>n>>m)
  {
    table.clear();
    for (int i = 0; i < 2*n; i++)
    {
      table.push_back(i);
    }
    int pos = 0; // 记录当前位置
    // 赶走n个人
    for (int i = 0; i < n; i++)
    {
      // 圆桌是个环,做取余处理
      pos = (pos + m - 1) % table.size();
      table.erase(table.begin() + pos);// 赶走换人,table中的人数-1
    }
    int j = 0;
    for (int i = 0; i < 2*n; i++)
    {
      if (!(i%50)&&i)         // 五十个字 为一行
        cout << endl;
      if (j < table.size() && i == table[j])  // table留下的都是好人
      {
        j++;
        cout << "G";
      }
      else
        cout << "B";
    }
    cout << endl;
  }
  return 0;
}
相关文章
|
安全 定位技术 数据安全/隐私保护
深入探索iOS 15新特性:用户体验与隐私保护的革新
本文将深入探讨苹果公司最新操作系统iOS 15带来的创新功能,特别是那些对用户日常体验和数据隐私产生重大影响的特性。我们将重点分析FaceTime的新功能、通知管理的改进、以及隐私保护的增强措施,展示这些更新如何提升用户的生活质量和信息安全。
|
SQL 关系型数据库 MySQL
(十八)MySQL排查篇:该如何定位并解决线上突发的Bug与疑难杂症?
前面《MySQL优化篇》、《SQL优化篇》两章中,聊到了关于数据库性能优化的话题,而本文则再来聊一聊关于MySQL线上排查方面的话题。线上排查、性能优化等内容是面试过程中的“常客”,而对于线上遇到的“疑难杂症”,需要通过理性的思维去分析问题、排查问题、定位问题,最后再着手解决问题,同时,如果解决掉所遇到的问题或瓶颈后,也可以在能力范围之内尝试最优解以及适当考虑拓展性。
1232 3
|
存储 SQL 关系型数据库
StarRocks简介
【5月更文挑战第4天】StarRocks是Linux基金会的开源MPP数据库,提供MySQL协议兼容性,支持标准SQL,用于快速数据分析。它适用于OLAP、实时数仓、高并发查询等场景,具有无外部依赖、高可用和易运维的特点。StarRocks支持多种BI工具,如Tableau,且可构建各种数据模型。其系统架构包括Frontend(FE)和Backend(BE),提供存算一体和存算分离两种模式。此外,StarRocks支持四种表类型和多种数据类型,满足不同业务需求。
2397 0
StarRocks简介
|
人工智能 自然语言处理 算法
准确写汉字的文生图AnyText,魔搭社区最佳实践来啦!
AnyText模型所涉及的文字生成技术为电商海报、Logo设计、创意涂鸦、表情包等新型AIGC应用提供了可能性。
|
网络协议 应用服务中间件 Linux
【音视频 ffmpeg 学习】 RTMP推流 mp4文件
【音视频 ffmpeg 学习】 RTMP推流 mp4文件
解决、鼠标间歇性、自动断开、又重连(有图)
解决、鼠标间歇性、自动断开、又重连(有图)
663 0
解决、鼠标间歇性、自动断开、又重连(有图)
|
Web App开发 存储 Java
聊聊操作系统中 进程 and 线程中哪些事??
聊聊操作系统中 进程 and 线程中哪些事??
152 0
|
机器学习/深度学习 数据可视化 数据库
Kaggle第一人 | 详细解读2021Google地标识别第一名解决方案(建议全文背诵)(二)
Kaggle第一人 | 详细解读2021Google地标识别第一名解决方案(建议全文背诵)(二)
372 0
|
存储 缓存 移动开发
Javascript本地存储的⽅式有哪些?区别及应⽤场景?
Javascript本地存储的⽅式有哪些?区别及应⽤场景?
191 0
|
移动开发 Android开发
实战:第七章:微信H5支付时用户有微信分身停留5秒后未选择哪个微信分身,也未支付就被动回调到商户支付是否完成的页面...
实战:第七章:微信H5支付时用户有微信分身停留5秒后未选择哪个微信分身,也未支付就被动回调到商户支付是否完成的页面...
320 0

热门文章

最新文章