The 2nd Imos Contest
いもすさんちに遊びに行ってきました。
Problem A: Cards
- 初っ端からyukとペアプログラミング。
- 最初や最後のカードが抜けてるケースは撃墜ポイントだなぁとか思ったけど、よく見たら全部Sampleに入ってた。残念。
- つつがなくAccepted。
Problem B: Imos Day
- とりあえずBFS2回で。
- DFSを選ばなかったのは趣味です。
- さっくり実装。でも答えが出てこない。
- そもそも入力のTreeがTreeになってない。どう見ても入力の取り間違いです。
- yuk曰く、「rootが省略されてるんじゃね?」なるほど。
- 直したらSample出てきた。Accepted.
Problem C: Lucky Time
- 後輩Kが果敢に挑むも撃沈。
Problem D: Hailstones
- 最初は周期を真面目に計算する方向で考えてたけど、ふと lcm(1, 2, ..., 10) と決め打ちしていいことに気付く。
- lcm(1, 2, ..., 10) = 2520. ってLayCurseさんが言ってたのを思い出してベタ打ち。
- 実装はyukに任せました。ちょっと嵌ってたようですが、最終的にはAC貰ってました。
Problem C: Lucky Time (Retry)
- 86,400回ループ * 5,000ケースはギリギリ間に合ってくれると信じて*1yukが突撃。
- 駄目だった。何度か定数倍最適化するもTLE。
- まだまだ最適化が足りないのだ、ビット演算使えばどうにかなるはず、と信じて私が突撃。
- 私はそこまでビット演算を使いこなせなかった。Sample出てこない。
- ついにyukが先に全ケース計算しておけばいいことに気付く。
- 実装してそのままAccepted。
- この1問のために書いたソースコードが4つ。全部合わせて268行。
- いくらなんでもアホすぎる・・・。
- この時点で残り10分だったので、諦めてみんなでのんびりまったりする。
- FはPollard's Rho Methodで一発だと気付いたけど、あのライブラリは作りかけのまま放置してた。
- ちゃんと作っておけばよかった・・・。
- FはPollard's Rho Methodで一発だと気付いたけど、あのライブラリは作りかけのまま放置してた。
- おつかれさまでした。
- 19位。
- -Wに僅差で負けました。残念。
- そろそろ次のコンテストの問題文を書く作業に戻ります。
*1:Problem Bの計算量と実際の実行時間から概算しました