参加の記念にメモ程度ですが残しておきます
予選
しれっと応募が始まって予選の一週間くらい前には終わっているので忘れないようにしましょう
過去問を見てもらうとわかるんですが、謎の入力形式になっています
終わるまで気づかなかったんですが、そのままソースコードに貼ることを想定していそうです(文字列が""で囲んであったり、vectorなどにしやすそうなものが{}で囲んであったり)
これをいちいちパースしているとそれだけでも時間がかかるので、特に非就活枠の人はあらかじめどう取り組むか決めておいた方がいいと思います
手元実行をするタイプですが入力のサイズがかなり小さいので、AtCoderのコードテストで全然いけます
予選問題(覚えている範囲で)
Q1 なんか愚直でいける簡単な問題でした、覚えてません
Q2 時刻の足し算を要求された気がします、ド典型なんですがめんどくさい
Q3 N(N≦10)個の点が与えられて、巡回セールスマン問題の逆(最大化)みたいなことをやりました、点をまたいではいけないというルールがあったんですが、制約が優しいので順列全探索 + 距離を愚直に判定で通りました
Q4 体感1600diffくらいのナップサックDP亜種、何種類か荷物のカテゴリが分けられているのでそれぞれについてDPで最適解を求めて、それを合体させるみたいなことをすると解けました
パースに時間がかかった + コロナ明けで瞬発力がなかったのもあって90分くらいかかってしまいましたが就活枠なら通過していました
全完すれば就活枠なら通過は確定でそうでなければ早解き勝負ぽかったです
本戦
就活枠+遠方なので、移動費と前日分の宿泊代が支給されました(ありがとうございます)
宿泊はDISCOさんから指定された会場に近いところに泊まりました
ダブルの部屋で広くて楽しかったです
今年の問題も2021,22と傾向は同じで、穴とバーのあるパチンコ台のようなものを操作して球を入れていく装置実装問題でした
1. シミュレーション
そこまで時間がなかったので、とりあえず直線的に射出するプログラムを書きました
最上位が27000点くらいで、自分が18000点くらいでした
-昼食-
お弁当を自由に選んでねと言われたので、牛とろろ弁当みたいなのにしました
賛否両論というところのお弁当だそうで、食材として苦手なものも割と食べられておいしい店ってすごいな~と思いました
nok0さんやmilkcoffeeさんたちと談笑していました
2. 実機確認1
スコア計算もまともに読めていなかったので、スコア計算をもとに改善を考えます
横方向の傾きは考慮すると頭がバグりそうだったので縦方向の傾きとバーの向きで加点できるようにしました
実機確認はシミュレーションのコードを使うのでまあそうだよな~という結果でした
あとあと考えれば、シミュレーションであまり点を取らなくても傾き方だったり反射だったりのデータを得ていた方がよかった気がします
3. 実機確認2
とりあえず簡単な穴には入りそうだったので、そうでない穴に入れる方法を考えて反射を実装してみました
ただ反射の計算が意外と面倒で実装するだけでほとんどまるまる使ってしまいました
多少時間が余ったので軸の向きをギリギリにして点数を上げられるようにしました
確認フェーズは2のコードを使うんですが、バーに当たって入っていないものがあったのでそこを何とかしようと思っていました
-会社説明・見学-
DISCO主催の大会なので会社説明と見学が計1時間弱くらい?ありました
福利厚生というか職場の中にリラックスできそうな空間があるのすごくうらやましいなと思いました
病院にもダーツとプールを置きましょう
4. ファイナル
エンタメ色が強めの大会で演出や実況解説の存在にびっくりしていました
適当にしゃべったインタビューが放映されてそういうことか...となりました
ファイナルの結果はカスで、直前に実装した反射がうまくいかなかったのと軸の角度を攻めすぎて入らなかったのでボロボロでした
実機確認1まででやりたいことの80%くらいは実装しないといけなくてそこから微調整するのがよさそうだったんですが、そもそも時間が足りずやりたいことができませんでした...
そもそも上位陣がほとんど反射を使わず傾きで戦っていたので、単純に戦法をミスっていたんだなと思います(これ知ってるかだけでも情報アドバンテージになりそう)
あとは表彰式をやって終了という感じでした
nok0さんが優勝していてマジですごい
来年機会があればリベンジしたいです
DISCOさん楽しい大会をありがとうございました