FCCPC

FCCPCについてお伝えするブログ

トレンドマイクロプログラミングコンテスト2014 Round 1, 2

記録: hadrori

トレンドマイクロプログラミングコンテスト(以下TMPC)2014のRound1, 2が今日ありました.
FCCPC++として参加しています(明日のRound3, 4で予選終わり).
メンバーはhadrori, ponyo, stqn, yosupoの4人です.
西8の8Fでやってました.

すこし特殊なコンテストなのでルールから

  • submitしたらその問題は次の10分間submitできない
  • 1つの問題に5回までsubmitできる
  • ACした場合の得点は100*(0.6+0.1*(1-実行時間/制限時間)+0.3*(1-経過時間/コンテスト時間))

Round 1

4問なのでとりあえず1人1問読むことにする.
問題番号はバラバラな数字(016とか020とか)だったのでここでは上から順にABCDとする
時間はだいぶ適当

0分

問題ページに繋がらない.
コンテスト時間が10分延長らしい(開始時刻が10分遅くなるわけではない).

5分

C AC(ponyo)
ponyo「やるだけ. まだみんな問題解いてんの?」

10分ぐらい

D CE. C++11を使ってしまったのでコンパイルエラー. 10分待つ.
Bが18*18ほとんどに'*'がきたら無理ゲー. Aの光線の数の制約が見つからない.

20分ぐらい

D WA. 問題はあきらかにやるだけなのにWAで謎. URLがどういう形があるのか指定されてないっぽい.
Bはleading-0が許されるのか書かれていないのでとりあえずclar投げる.
少しすると許されると回答が来る.
DのURLについても質問するもNo Comment
Aの光線の数についても質問するも問題文に書いてあるとの回答.

30分ぐらい

Bに'*'が連続9個までとかでassertつけて提出. 落ちる.

60分ぐらい

BはもうどうしようもないのでTLE前提で全探索を提出. AC(yosupo)
!?!?!?!?!?って感じだ. 計算量とかそういう概念がないのかもしれない

130分 終了

なんか終わっていた. Aはもうちょっとどうにかできた気がするが, Dは謎.
なに質問してもNo Commentなので詰んでいた

休憩

3時間の休憩を挟んでRound 2がある.
各々勝手に過ごす.
参加チームを眺めると, NTUのチームが3チーム, 清華大のチームが1チーム, 東大のチームが1チーム確認された.
NTUはプロばかり(TwT514とか)だし, 東大(たぶんnegainoido)は全完っぽいし完全に人外.
というかstandings, 正解数だけで得点書いていないので本当に参考程度にしかならないなあ

KUPCのstandings眺めて, 他の強い人々がKUPCに参加してこっちに参加していないことを確認する.

暇なので「日本語で質問することは可能ですか?」(原文ママ)とclar投げる
答えは「No」. 質問できているので日本語で質問すること可能では……

Round 2

2問なので2人ずつで分かれる.

0分

更新しても500とかでていてやばい.
しばらくすると問題のダウンロードに成功する. 今回は延長はないっぽい

5分

Aは2048のAI作ってクリアしろって問題. 問題作る気あるのかって感じだ.
Bは詳しくは知らないが解けそうっぽい.

25分ぐらい B MLE

BがMLEする. 少しするとunion-find解が思いついたらしいので実装.

35分ぐらい B AC

10分経ったのでBを提出. AC(yosupo)
メモリ240MBぐらい使ってギリギリだったっぽい(MLが256MB).
実行時間が若干遅い. たぶんcinのせい. scanfにするべきだったと言っていた.

評価関数を決めかねる

2048, まじめに考えたことなかったので評価関数をどうするかから悩む.
とりあえず右下に傾斜かけてみたりするがあまり良くない.
なんだよこれ……マラソンかよ……

100分

よさげな評価関数ができる(連続して同じ数字がならんでいるかとか, 空きマスとか, 最大値とか).
ビームサーチを書くがバグる.

119分

平行して書いていたyosupoくんが1024ぐらいはいくから後は運ゲーといって提出.
CE. Ω\ζ°)チーン

まとめ

yosupoくんがプロすぎた.
コンテストは競技プログラミング(?)って感じ.
問題っぽい問題はRound2のBぐらいだったみたい.
たぶん今上に10チームぐらいいて, このままだと予選突破やばいので明日挽回だ(金ぽよしたい).