DISCO presents ディスカバリーチャンネル コードコンテスト2019 本戦
1/19(土) 9:00-18:20
@株式会社ディスコ
楽しかった
今回は辞退せず参加して良かった
起床
目覚ましを6:30amにセットして寝た
6:29に起きた
→AC(というか目覚ましに勝った)
移動
大森海岸駅から歩いてすぐだった
受付
9:00集合〜9:50受付締切までに到着すればよくて
その中頃に到着
- DDCCと書かれた水色のコンテストTシャツ
- 首から下げるネームタグ
- マスク
を頂いた。
1つ空いていた最前列の席に陣取る。お手洗いでTシャツに着替える。
ステッカーが1人1シート支給されていたので貼った。
chokudai氏の号令で全員でAtCoderサーバにF5アタックするの面白かった。
コード部門
10:10〜12:10
A - レース (Race) (300)
とりあえずRLEして
'>'の一番長いやつを1つ伸ばすだけで良くね?
あれ
計算合わないか*1
">>->>>" みたいな時にくっつけるみたいな戦略が必要では
とすると
">-"ないし"->"の境界部分で可能な時短をすべてpriority_queueに放り込んで
一番いいやつを
→AC 42'13
https://atcoder.jp/contests/ddcc2019-final/submissions/4039771
みんなもっと早く解いてるし
終了後
先頭と末尾が "--" なのは読めてたけど、あらゆる '-' が単独で出現しないという事が読めてなかった
なんだそれなら一番長い '>' の連続部分を1つ伸ばすだけ
→AC
https://atcoder.jp/contests/ddcc2019-final/submissions/4051199
教訓
- 問題文と制約とサンプルケースを落ち着いて読み解いてから考える
- 300点問題でそんな解法が必要なのか冷静に考える
B - 大吉数列 (Array of Fortune) (600)
部分点狙い?いや部分点と完全点で難易度変わらない気が
- どんなに頑張っても までしか作れない。
- Rがそれを超えるならNo Luck
- 1刻みで調整できる?のであればそれ以外ではNo Luckは出ない
- 大きい順に置いていくか
- 大きい方からK個置いた時点では0
- K+1個目で+1, K+2個目で+2, ...
- N=5,K=2のとき 5(+0) 4(+0) 3(+1) 2(+2) 1(+3)
- 配列にpush_backしていく感じ
- 1つの数をpush_backするたびに (そこまでの個数-K+1) 増やせる
- (配列のサイズ-K) 未満の余りが出た回で調整。余りがkならk+1番目(0-base)に挿入すれば良い
- N=5,K=2で 5432 まで積んでいたとしたら (4-2+1=3が最大)
- 5 1(+1) 4 3 2
- 5 4 1(+2) 3 2
- 5 4 3 1(+3) 2
- 5 4 3 2 1(+3)
- N=5,K=2で 5432 まで積んでいたとしたら (4-2+1=3が最大)
- これ以上増やしたくないなら最大値より左に(右から左へ)積んで行けばいい
- わざわざinsertしていく必要はなくて表示するときに頑張ればいい
- 降順の配列だと操作しにくいので昇順で考えて、N-iを表示するようにした
→WA(3)
- 左に積むやつがずれていた(x1)
- 最後の端数の処理が間違っていた(x2)
直して
→AC 1:20:31
https://atcoder.jp/contests/ddcc2019-final/submissions/4040255
C - 光の反射 (Reflection of Light) (700)
残り30分だし*23問目は無理かなあと思いつつとりあえずCを開ける
幾何問題。(みんなこれ飛ばしてない?)*3
- とりあえず回転させて光源をX軸正方向に持ってきて(デバッグしやすそうと思って)
- そこから柱の円への接線2本を延長した向こうで部屋の壁とぶつかる点(x2)を求めて
- その2点間の弧の上には光が届きそう
- 次回はその2点(のどちらか)に光源を置いて同様の処理を
みたいな感じで攻めようと思ったけど幾何学コーディング力が足りずに試合終了
D - (700)
開いてない
E - (600〜1200)
開いてない
12:10 昼食(DDCC2019特別ビュッフェ)
食べられるものがあるか心配して前回(2017)は辞退したのだけれど
前回のビュッフェの写真を見て大丈夫だろうと判断
お寿司美味しかったです
あとスパゲティ
(食べ物がすぐになくなってしまって少し物足りなかったかも)
13:25 装置実装部門
解説が5分とか
扱うべきパラメータが多くて焦る
予選 13:30-14:00
- スタート地点→A→B→排出地点 or スタート地点→B→A→排出地点
- その後は 排出地点→A→B→排出地点 or 排出地点→B→A→排出地点
- 90行になるまでぐるぐる回しておけばよいか
- ビーカーの容量どこに書いてある?
- 円錐の体積の公式から求めるやつ?
- 自信なくてぐぐった*4
- Aでビーカーの容量の半分、Bでもう半分を注ぐ
- 円錐の体積の公式から求めるやつ?
- あとは加速減速のコントロール
- XとY別々のパラメータで同時に動くと
- あまり動かない方の軸の残り時間対策
- X軸(またはY軸)方向に全く動かないケースとか死にそう
- ビーカーの同じ場所で液を受けてはいけない
- 使える場所を先に用意してプールしておく?
実装に戸惑って1投もできなかった
正の得点を得たのは19人(みんな仲良く20位タイ)
社内見学ツアー
- A、Bに分かれている。ツアー初めての場合(自分はこちら)A
- 渡り廊下が吊り橋みたいだった(下を見ると怖い)
- 社内にプールとか蕎麦屋がある(すごい)
- これは住める
- それ以前にコンテスト会場の隣室に銀行ATMがあったのを見逃さなかった
- ウェハを磨いたり裁断したりする技術
15:00 装置実装決勝観戦
表彰式
yosupoさんが二部門制覇して100万円相当の賞品賞金GET
感動的
それはさておき
おなかすきました
懇親会
食べられるものが稲荷寿司しかなくて残念
お腹空いたし離脱したかったけど、最後の写真撮影まで帰れず
集合写真撮影
お腹空いて意識が遠のいてる中、「装置」を囲んで写真撮影。
解散
直帰
遊んで帰る気力が残っていなくて残念...