ICPC 2017 国内予選: 参加記

,

http://icpc.iisf.or.jp/2017-tsukuba/domestic/

cormoranこうきとチームTEAM NAGATOとして参加した。 ABCDEGの$6$完遅くて$13$位。

チーム

今年から私の師匠であるところのizが参加権を失なった (つらい)。 なので有望な後輩がチームに加わった。

大学からは全体で$5$チーム出場。以前と比べてすごく増えた。

模擬国内の結果などから$2$チーム目のアジア進出が期待されていた。 結果としては$2$チーム目は$39$位で、繰り上がり多数でなければ進出失敗。 我々のチームがなければ通過できている順位ではある。 私が選抜条件を勘違いしてぬか喜びさせてしまったのは申し訳なかった。

追記

しかし結局彼らは通っていた。

次に、この時点で選抜された最下位チームと次点となる大学内1位のチームには大きな開きがあるため、同じ大学等の所属で選抜されたチームが2に満たないチームを上位から2チーム選抜。

というので引っかかったようだ。めでたい。

インフラ

問題を解くには当然ネットワーク環境が必要。 監督の先生に確保して貰った教室には静的IPが降ってきており、ルータとスイッチでLANを構築し以下を繋いだ。

  • 計算機$5$台
  • プリンタ$3$台

以前はDHCPであったのだが、今年は静的IPが降ってくる。しかし渡されたルータは安物のためDHCP/PPPoEのみしか設定できないという問題が発生。ファームウェアの更新などをしてもだめなので、仕方なく他の場所からルータを外して持ってくることになった。

プリンタは例年の様に苦労した。$3$台あったが$2$台しかネットワークには繋がらなかった。 そして本番で実質的に動いたのは$0$台といった状況。 混乱を避けるため開始直後に我々のチームが$2$台のプリンタを用いて全チーム分の印刷をする手筈でそのようにしたのだが、ジョブをたくさん投げたのにまったく紙が出てこなかった。 結局は監督権限で遠い場所のプリンタが用いられた。 障害の原因のひとつはFirefoxから直接印刷をしたためで、いったんPDFに変換してから印刷や直接lpすると(多少は)印刷が可能のようだった。 思えばFirefoxによる問題は昨年も発生していたので、来年はきちんと対処したい。

/etc/sudoers破壊の実績が解除された。 借りた計算機の設定の際にどうしてもroot権限が必要であり、頻繁に要求されて面倒なのでsudo権限を付与しようということになった。 visudoを用いて設定を変更したが記述ミスによりこれが論理的に破壊されてしまい、任意のlogin可能なuserが一切の権限を失った。 visudoは編集結果のsyntax errorを防ぐのみでありsemanticsのerrorは素通りしてしまう。wheelsudoといった名前のuser groupに対象userを追加するのが安全面での正解。 しかたがないのでUbuntuのlive USBを作成し、そちらからbootして復元することで対処した。 UEFI secure bootの問題やHDDの暗号化とかがあったら詰んでいるところだったが運が良かった。

インフラ構築で手間取ったのでリハーサルはほぼ行えず。 リハーサルといえば、B1さんたちのチームはそもそも$3$限に食われてリハーサル終了後に会場到着していた。ICPCで単位が出る大学に行きたい。

作戦

チームの作戦は次。そのように行なわれた。

  • ABCを他のメンバーを信じて全て任せ、私がGやHを読む。

「全部私が読んでそのまま実装し、バグらせたりしたら助けてもらう」という案も存在したが、それでは面白くないしそのようなギリギリを攻めなくても通るだろうという判断により棄却された。 アジアではありかもと思っている (ふたりに比べて私の英語力が低いので読解を任せたい)。

本番

ABは全て任せて通してもらった。 次にCは私が見る側でペアプロ、なんだか実質的に私が書いてた感じもあるがキーボードには触れなかった。 予定通りEDGはこの順に私が解いて私が書いた。 Dの制約見落としして「なんでこんなに解かれてるんだ?」って言ったりもした。 DEは私が得意な種類の問題なので、もう少し難しくしてGHぐらいに置いてほしかった。 実装は間に合わなかったが、Fはこうきくんが解法を見つけていた。Hはまあやればできそうだし全完チームの存在はまあ分かる。


  • 2017年 7月 19日 水曜日 23:45:43 JST
    • 後輩らのチームが追加で通ってたので修正