four-t practice 2019 #6
2019 年 4 月 21 日にチーム練をしました。(Tehran 2017の問題セット)
全体的な流れとか反省とかを書きます。
コンテスト中の流れ
つたさんが前の方から、僕が後ろから問題を見ることになった。えびさんはいつも通り環境構築して真ん中から。
K を読む。よくわからないなぁと思ってるとつたさんが A を書いて通す。
J を読む。よくわからないなぁと思ってるとつたさんが B を書き始める。
B のサンプルがわからんみたいな話になってたけどとりあえず合うようにして提出。
WA
この辺はあまり覚えてないけど、えびさんが E を実装していた気がする。
順位表を見ると、H が解かれているので見る。DP すれば解けそうな気持ちになるが、こういうのはつたさんが書いた方が早そうなのでつたさんに伝える。
H を AC
つたさんが実装している間に B を読む。サンプルはよくわかんないけど、全く同じケースがそれ以前にあるなら "No" にすると良さそうみたいな話をする。
B を直して AC
えびさんが E を書いてる間、J を読む。
よくわからんみたいになってると、C を読んだつたさんから問題概要の説明を受ける。幾何なので僕が C を担当することになる。
少し考えると解けるとわかるのでパソコンが空いたら書きます、みたいな気持ちになる。パソコンが空くまでの間、実装を詰める。
えびさんが E を AC
パソコンが空いたので書く。 これはライブラリがいらないタイプの幾何。ギリギリを考えますみたいなやつ。 壁の厚さの変数名と、直線の方向ベクトルみたいなやつをどちらも d という名前にしていたり、点の数を表す変数と、法線ベクトルみたいなやつの名前をどちらも n にしていたりしてダメじゃーん、ってなる。とりあえず "_" をつけて適当に直す。(変数名をちゃんとしましょう。) それなりに時間がかかったけど書き終わる。サンプルを試すと通るのでとりあえず出す。
WA
つたさんと交代するが、すぐに "_" をつけるべきところでつけてないやつがあることに気づいて直す。
サンプルにあったので投げるが WA
コードを読むと、さっきと同じミスがもう一箇所あることに気づく。 直して提出するも WA
流石に WA 出し過ぎでは、みたいな気持ちになってちゃんと全体を読もうという気持ちになる。
I を考察していたえびさんから相談を受けて一緒に考察する。えびさんが考えていたやつでいけそうだねみたいになる。
バグった時は人に説明するとバグに気づくみたいなやつがあるので、えびさんに C を説明する。結局方針は正しそうと言うことになり、コードも一緒に見ると、明らかに間違っているところを発見。つたさんに PC を代わってもらって訂正、提出。
C を AC
つたさんが D を、えびさんが I を、交代しながら実装。 僕はつたさんに G の概要を聞いて考えたりするがわからない。
TLE になったりしつつ、I をえびさんが AC
つたさんに D を実装してもらいつつ、えびさんと残っている問題の考察をする。
F を読む。これは幾何。つらそう。
Tighten Up! | Aizu Online Judge
これと似ているような気がする?僕はこれが解けていないので F はやらないことにする。
G はすでに少し考えてわからなかったので、J, K を考えることに。 J は少し考察をして、つたさんっぽいとなったので、K を考える。方針が立ったかと思ったけどえびさんが嘘だと見抜いてくれる。
つたさんが D を AC
J をつたさんに伝える。色々話していると、えびさんが実装できそうな気持ちになって、実装を始める。その間、僕とつたさんも J の実装を考える。
えびさんの実装が終わり、色々ケースを投げてみたりする。それらに通るようになったので提出するも WA.
つたさんにも実装をしてもらう。ペアプロみたいなことをした。実装が終わり、提出するも WA. 3人でデバッグするが間に合わない。
コンテスト終了。
結果は A, B, C, D, E, H, I の 7 完。Heno_World に最後抜かされて 2 位。
反省
C で方針があっていたのに簡単な実装ミスで WA を出してしまった。変数名とかをちゃんと考えましょう。
サンプルにあったらすぐ提出する癖をやめるべき。提出する前に一度コードを全て読むとかをすると良さそう。
つたさんに実装を投げすぎたかも? H は僕が書いても良かったかも。
感想
全体的な立ち回りはそんなに悪くはなかった気がする。
G みたいな問題を通せるようになりたい。
次は Heno_World に勝ちたいですね。
他の人たちとチーム練をするのは楽しいのでいろんな人に参加してほしい。