TopCoder SRM 147 DIV 1 Easy 練習
問題
男女が輪っかの形に並んでて、K人目を輪から取り除く作業を女性の人数ぶんだけ繰り返したら、女性が全員居なくなりました。
元の輪っかを復元してください。
解
単純にシミュレーションする。
using System; using System.Text; using System.Text.RegularExpressions; using System.Collections; using System.Collections.Generic; public class PeopleCircle { public string order(int numMales, int numFemales, int K) { int[] circle = new int[numMales + numFemales]; int ci = 0, ck = 1; while (numFemales != 0) { if (ci >= circle.Length) ci = 0; if (ck > K) ck = 1; if (circle[ci] == 1) { ci++; continue; } if (ck == K) { circle[ci] = 1; numFemales--; } ci++; ck++; } string res = ""; foreach (int n in circle) res += n == 1 ? "F" : "M"; return res; } }