ICPC2013-初めての3人プログラミング。

チーム練習とか

ICPCお疲れ様でした。さくとくまさんと一緒にチームOpeNyanで参加しました。A,Bで惨敗です。残念。

けど、本番が一番チームプログラミングらしいスタイルになった気がする。原因は、うーん。わたしがもっとデバッグ力があればCもDも通ったんじゃないかなあ。今更どうにもならないけども。

けど今回はDまで解いても40位オーバーになってしまうという事態だっただし、うーん、けどやっぱりDまで通したかったな。

ちなみにわたしは今回まったくパソコンに触れていません。

チーム練習とか

練習は過去のICPCの国内予選を利用した。とりあえずわたしがAを解いて、わたしが解いてる間にくまさんがBを考えて、さくがCを考えるって感じだった気がする。とりあえずCまで通って、Dは解けない(考えはなんとなくあるんだけど実装ができないだか)でおわりみたいな練習が多かった。

Cとかhさくと一緒にデバッグしながら通すみたいなスタイルだった。練習風景をICTの人が見た感想が、くまさんの人権がないって言われるようなスタイルだった(ごめんなさい)。

元々さくとチームを組んだことがあったからか、2+1みたいな感じだった。

Cまでは絶対解こう。Dは解けたらいいね。みたいな感じだった。

練習ではCまで解けてたのでなめてたのかなあ(´・ω・`)

本番の前

空きコマだった1限の時間にくまさんと各々3問通す。長い問題文ばっかり引いて、誤読ばっかりする。つらい。さくに爆速でA,B解いてもらったほうがいいのではという練習とは違うスタイルを提案する。当日にそういう案が出る時点で計画性ないよなあ。

その後、AとBのクロス解き案が出る。くまさんとさくがふたりとも問題を解いて完全に正解してるか確認するというスタイル。とりあえずWAを出したくなかったということからこの案が出る。

お昼はカツカレーを食べる。美味しい。

後者の案で行くかー????みたいな感じのまま、わんやてんやして結局時間。

誕生日プレゼントにもらったお菓子の中から大量のチョコを用意した。

本番

とりあえず3部ずつ印刷。さく→ 印刷後そのままAを解く。くまさん→ Aを見て、その後Bを見る。わたし → Cを見る

さくがAでバグを生んだらしく、くまさんがAにとりかかる。わたしもそのままくまさんがAを解いているのを見て、横からわんやかんや言う。とんでもない式が出ていたが、テストケースバグない。たぶん大丈夫ということにより、クロス解きは断念してそのまま提出。

!!! Accept !!!

提出したとき全然通ったかわからなかった。何時かわからないけど、16:54には解いていたみたい。とりあえずハイタッチ。いえーい。

Aを解いてる間にさくがBを考え終わっていたのでそのままキーボードを交代。わたしはそのまま残る。くまさんはCを考える。

さくのソースをはじめ見ていたけど、Bのテストケースの遷移を考えておく(もしもバグを生んだ時のデバッグ用)。pairしまくるソースで不安だったけど、少し訂正する程度で全然バグはなかった。さく凄い。

!!! Accept !!!

さくよくがんばってた。17:15には解き終わってたらしい。順位表をみたら27位だったのでみんなでおぉ〜みたいな感じになる。よくよく考えるとこの時に力抜けたのかなあ(絶対抜けちゃいけない場面だったけど)

Cの解法をくまさんが思いついていたので、手計算で合うか確かめる作業を承る。合うよーと報告したが、このときわたしがネスト4([[[[ のパターン)のやつを若干勘違いしてたのが痛いなあ。終わる30分前にくまさんと一緒に確認したらネストしてるじゃんってなった。ばかだなあ。

Cの問題は[ ]が多くて入力ができないと嘆く。さくはチョコを食べながらDを考える。

手計算が終わったので、くまさんの[ ]をどうするのか方針を聞く。くまさんの解法は難しくて、わたしが手計算中に考えた方針を伝える。それでいけそうなので実装をしてもらう。わたしは隣で見る。間違えたらその場で注意みたいなスタイル。ペアプロっぽい。うん、たぶんあれがペアプロ

[ ]の部分の入力ができたので、さくのDの解法を聞く。さく冴えてた。ちゃんと思いついたの凄いとおもった。くまさんが詰まり始めたので紙に印刷してさくにバトンタッチ。

くまさんと紙デバッグ。ネストしていくとこの方針が今のままでは足りないことに気づく。いろいろ付け加えていく。

さくが少しだけ詰まったのでくまさんにバトンタッチ。くまさんがさっき紙に書いていたのだけじゃ足りないことに気づくさらに足していく。ソースが汚くなっていく。なんとなくわたしの中で解法があったんだけど、くまさんの勢いがあったのとわたしがその解法を伝えられそうになかったのでそのまま一緒にペアプロ。このあたりからわたしはくまさんのソースが部分的に謎のところができ始めていた。コンパイルすると落ちる。さくとくまさんが交換。

わたしはそのままさくと一緒にDのデバッグ。ぐるぐるも書けてるし素数もできてるし、再帰関数がやばそうだったのでちょくちょく直す。大きい数字を入れたら死ぬ。くまさんが修正できるらしいので交換。

くまさんが大幅変更をしていく。わたしソースがどんどん読めなくなっていく。この時点で19時過ぎ。なんとか通したい…。19:15になったのでさくにバトンタッチ。

メモリを大量に取る。とりあえず落ちない。さくの再帰関数を修正していく。バグ取りする。時間足りない。19時半。終わり。

感想

わたしの今回の仕事は書いていないので、ふたりを落ち着かせたりペアプロをする(ことだとわたしは感じていた)ことで、それができたのかっていうとやっぱりまだまだだったと思う。「通らない」という絶望になったふたりを励ましながら、一緒にデバッグする力がもっともっと必要だった。デバッグ力が足りない。くまさんのソースを後半読めないしバグは取れなかったし、さくのソースもBがもしバグってたら取れなかったし、実際Dのバグも取れなかった。デバッグ力その前にプログラミング力不足。競技してないですね。ほんとに。

終わった後はいろいろな気持ちがこみ上げてきたけど、とりあえず練習よりも楽しかった。もう一回このメンツで戦ってみたかったなあ。

今年はICPCが終わってしまったので、あとは高専プロコンがんばろう。うん、がんばる。