オフラインでリアルタイムに「どう書く」をやるイベントは、私は今主催していません。
そのうちまたやりたいなと思い、問題作成のリハビリということで問題作りました。
問題は「正方形を谷に詰める」という名前で、詳細は
https://nabetani.github.io/q/pages/r0/
です。
実装ができた方はこちらのコメント欄からリンクを張っていただくと見つけやすくて助かります。
似たような問題をもっと解きたいという方は、
https://nabetani.hatenadiary.com/entry/yhpg_list
や
https://nabetani.github.io/q/
に過去問リンク集がありますので、そちらをご覧になると良いと思います。
補足
イベントは
- 問題発表
- みんなで解く
- 乱数で発表順を決める
- 時間が来たら休憩(会場の雰囲気で適宜延長する)
- ひとりひとり、自分の書いたコードを解説
という流れでやっていました。
自分の解説のタイミングでテストが通っていなければ完敗。
休憩までに解けていて、解説のときに決定的にまずい点(バッファオーバーランとか)が指摘されなければ完勝。
それ以外はグレー。 という感じ。
実行時間の制限はないものの、テストを全部通すのに数日を要するということだと解説のタイミングでテストが終わっていないことになるので負け。
入力値の範囲は明示しないけど、テストケースが現実的な時間で終わればいいという気持ち。
解説のときに、要素数やら値やらがすごく大きくても大丈夫なアルゴリズムだという話をすると称賛されるし「テストケース全部通すのにふつうにやったら1時間以上かかるので、マルチコアマルチスレッドを活用してテスト回して、それでも 10分かかってさっき終わったところです。PCホカホカです。」とかだと別の称賛されるとかそういう感じ。