203.1

325

質問の回答が一番近い人同士をペアにする問題。名前のアルファベット順にペアを作っていくとき、特定の人の相手を答えよという問題。


名前をアルファベット順にソートして、マッチングするだけの問題。

500

数種類のものがいくつか与えられるので、何通りの並べ方があるか答えよという問題。ただし鏡像は一通りと数える。


鏡像を無視すれば、同一のものの並び変えを考慮して、全部のPermutationを、各同一のもののPermutationで割れば良い。そのうち鏡像のものを除いて半分にすれば良いので、鏡像のものをカウントする。鏡像になるのは、同一のもののうち奇数個のものが高々一個である場合、全体の半分について何通りの並べ方があるかを考慮すれば良い。それ以外は鏡像にはならない。後は鏡像のものと全体から適当に計算すればおしまい。

1000

長方形の領域に、長方形の板を敷き詰めることを考える。敷き詰め方は角度が指定されるので、その角度になるように敷き詰める。はみ出した部分を切り捨てるとして、最小で何枚必要か答えよという問題。


単純に左上から敷き詰めるだけではダメで、右下からも敷き詰めないといけないのかも知れない。左下でうまいこと敷き詰められるパターンもチェックする必要があるのかも。敷き詰め方が平行な場合には、単純に求まるので例外処理をしておくと、ゼロ除算とかが起きなくて安全かも。