圆桌上围坐着 2n 个人。其中 n 个人是好人,另外 n 个人是坏人。
如果从第一个人开始数数,数到第 m 个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第 m 个人处死 …… 依此方法不断处死围坐在圆桌上的人。
试问预先应如何安排这些好人与坏人的座位,能使得在处死 n 个人之后,圆桌上围坐的剩余的 n 个人全是好人。
多组数据,每组数据输入:好人和坏人的人数 n (<=32767)、步长 m (<=32767);
对于每一组数据,输出 2n 个大写字母,‘G’表示好人,‘B’表示坏人,50 个字母为一行,不允许出现空白字符。
相邻数据间留有一空行。
输入
2 3 2 4
输出
GBBG BGGB
模拟法解决。可用数组模拟,也可用向量vector、队列queue,或链表list模拟。