AtCoder Beginner Contest 165 E - Rotation Matching
問題
人の参加者が、個の卓でそれぞれ2人ずつ対戦する。 卓では番号と の人が対戦する。 はじめ、人の参加者は1からの番号が順番についていて、対戦が終わると番号が1増える(は1になる)。 ラウンド実施し、同じ2人が対戦するカードが存在しないような卓の番号の振り方を求める。
考察
問題文のただし、与えられる制約のもとでそのような割り当てが必ず存在することが示せます。
より、番目以降の席を設けなくても解けるとこがわかるので、としても問題が解けるとみなす。
ある卓でのとき、他に、やなる卓 は存在してはいけない。
卓でとすると、同じ2人が対戦することがなくなるので、これの実現方法を考える。 差が奇数の対戦カードは、偶数の対戦カードはなので、を差が奇数の対戦カードとして、残りを偶数の対戦カードとして差の大きいものから順に決定できる。
以上でも、この実装は可能。