ACM プログラミングコンテスト

皆様のご支援のおかげで無事アジア予選に進出することができました。
ありがとうございます。

ちなみに、どんな問題だったか。

問題A

  • 花札のカードひと山を指定された方法で何回も切る。最終的に一番上に来るカードを求めよ。

問題B

  • 正方形のマップに通行可能なセルと不可能なセルがある。スタート地点から到達できるセルの数をかぞえよ。

問題C

  • ある有理数をエジプト分数*1として表す方法の数を求めよ。ただし数列のサイズnおよび分母の大きさには上限がある。

問題D

  • (0 \le x \le 10,0 \le y \le 10)の範囲内に最大300個の点が与えられる。これらの点をもっとも多く含むよう半径1の円の中心を決めよ。

問題E

  • 指定された形状の立体的な水槽と、いくつかの蛇口がある。水槽は最初空で、蛇口からはそれぞれ一定速度で水が注がれる。指定された時刻の、指定された座標における水深を求めよ。水槽は山あり谷ありなので、ある時刻の水面の高さはどこでも同じとは限らないことに注意せよ。

問題F

  • 仮想的な街、'京都'の正しい交差点の名前がいくつか与えられる。これらから交差点命名規則を推理し*2、別のいくつかの交差点の名前が正しいかどうかを判断せよ。

*1:分子が1の分数列の和

*2:もちろん推理の方法も完全に形式的に与えられている。たとえば、「四条河原町」「河原町三条」が正しい交差点の名前ならば、命名で右に来る傾向が四条>河原町>三条の順である、と判断するとか