The 2016 ACM-ICPC Asia Yangon Regional Programming Contest 参加記

はじめに

今さらですが @a3636takoときひろちゃんと僕の3人チームDo Touch EverythingでMyanmarのリージョナルに参加していました.コーチは@threepipesさんです. 今年もやるかもしれないし,何かの知見になると思って書いときます.質問があったらTwitterで@kyuridenamidaまでどうぞ

URL:

https://icpc.baylor.edu/regionals/finder/ar-yangon-2016

なぜヤンゴン

全員大学4年で研究やプライベートが忙しく、 チーム練習時間が十分に取れていない状況でした。 チームとしての動きが10月の筑波は間に合わないと思ったので12月に開催されるミャンマーの予選に参加することになりました。

理由はいくつかあって、以下の通りです。

  • 治安がマニラよりは良さそうだったから(それでも心配してましたが,蓋開けてみればなかなか治安が良かった)
  • 近年急成長が見込まれる国であり、そのような国のIT産業を支える若者たちと触れ合いたかったから
  • イカれたコンテストに参加できそうだったから

準備

  • 結局研究が忙しくて練習時間が全然取れなかったのは痛いです。チームで5時間通して練習できたのが少なかったというのもある。
  • とはいえじわじわ各人の特性がわかってきて、チーム戦をすることで個人の最大値を超えることはできるようになった。
    • takoは英語が苦手といいつつきちんと題意を把握して詰めて人に説明するのがうまい。読むのがはやい。
    • きひろちゃんは実装は苦手だけど考察レベルでいえば僕よりはるかに多くの問題の解法を思いつける。
  • ライブラリを出発前日に整備したくらいです。
  • 正直いうてリージョナル3位くらい取れるやろとか本気で思ってた。

旅程まとめ

移動は全てチャイナエアラインを使った。

  1. 12/6 に関西国際空港から台湾桃園空港(3時間)
  2. 12/6-12/7 台湾桃園空港で空港泊 (乗り換えまで約14時間で日を跨ぐタイプだったので) ← 過酷だったからおすすめしません
  3. 12/7 ヤンゴン移動(台湾から4時間くらい?)
  4. 12/7 ICPC側が用意したバスでホテルへ、あとセルフ観光
  5. 12/8 プラクティス
  6. 12/9 本番
  7. 12/10 朝11時発の飛行機で帰国(今度は乗り換えがいい感じ)

登録

  • 普通にAcceptされた。
  • しばらく経ってから宿泊先とか飛行機の到着時刻をメールで聞かれたりしたので答える.これは空港からの案内をしてくれるためっぽい.

12/6 出発

  • 袋タイプのたけのこの里をおみやげに買った。
  • 台湾コーチにパイナップルケーキを日本アジア地区で貰ったので、お礼にどら焼きを買っていった。
  • 台湾までの飛行機では寝たり、きひろちゃんが紹介してくれた問題を解いたり、シンゴジラを見るコーチを見てたりした。
  • 台湾に到着してからは、一度入国審査を受けた。天候も悪く少し遅かったので、市内観光することは諦め、電源席で3時間-4時間くらい練習した。これは微妙だった。
  • 桃園空港の第2ターミナルだったのだが、下のフードコートのソファー席が24時間いちおう解放されているので、そこで仮眠を取っていた。
  • あんまし寝れなかった

12/7

  • 朝5時、ヤンゴンに行くための飛行機に乗るために起床。
  • 偶然同じ便だったようで、いつものNCTUのコーチに会う(何回目だろうw)
  • NCTUは3チーム+1コーチという計13人の大軍だった。
  • 飛行機乗る。CAさんがきさくで、おすすめ情報とかを雑談で手に入れる。オイリーだけど数日だから大丈夫っしょwとか、朝飯はミルクティーとパンがいいよみたいな話をされる。ふむ?
  • ミャンマー到着。ビルマ語を見て感動する。
  • 実は知らなかったのだれど、ICPCの人たちが丁寧にお出迎えしてくれる。人々の伝統衣装が綺麗。
  • 換金場所とかも案内してくれて、しばらくして全員が揃ってからホテルにバスで移動。
  • 今日は暇なので、観光しようと思い、最も有名らしいシュエダゴン・パコダに行く計画を立てる。ホテルからタクシー。ホテルのフロントの人がホテルの地図を描いたカードをくれた。戻るときはこれを見せろって。
  • ホテルからヤンゴン中心部は結構距離があり、相場は 7000キャット (700円) くらいって言われたけど、5000キャットで乗せてくれた。ミャンマーはタクシーにメーターがなく基本事前交渉です。
  • タクシーで1時間?くらいかけてシュエダゴン・パコダに到着
  • 確かに綺麗。金ピカである。
  • とりあえず散策できるところをぶらぶら歩く。仏様みたいなのがたくさん設置されている。
  • 写真撮って欲しかったので「写真撮ってくれますか?」って近くにいた女性2人組に言ったら撮ってくれて、2人の写真も撮りましょうか?って言ったら、together という単語が悪かったのか(たぶん)ナンパだと思われたらしく「友達待たせてるんで!」って去られた。なんとも言えない気持ちになった。
  • 正直バックグラウンドがわからなくて、ガイドいります?って入口で言われたのを、とりあえず断ったのを若干後悔した。景色として美しいという感想を抱いていた。
  • お寺から出ると、ヤンゴン市街地に行くためにタクシーを捕まえる。4000 キャットでいいよって言われた。安い。
  • 市街地に行くと、露店とお店と路駐と渋滞と人混みですごいことになっていた。
  • 治安は良いと聞いていたがやはりこわく、かばんを前に担いで慎重に移動する。
  • さっそく物乞いらしき子どもに服をやさしく引っ張られてちょっと焦った。
  • 歩行者信号が存在せず、車が通らない隙を狙ってみんな道路を渡ろうとするので正直混沌としていた。交通インフラが整備されてない印象を受けた。どうやら車は人を引かない程度に歩行者がいても遠慮せず進んでくるので、強気でうまく渡ることが重要らしい。
  • 露店はフルーツとかなんかいろいろ売ってたけど、おなかを壊す危険性があると聞いていたので食べなかった。
  • ヤンゴン市内、いくつか通りがあって、ちょっと生活感のあるところに迷い込んでしまい、少し不安になりながらウロウロする。ビンロウ(タバコみたいな扱いの存在)の吐き痕が結構いたるところにあった。
  • そんな感じで通りを間違えまくっていたが、事前にtakoが購入した地球の歩き方に書いてるお店をようやく発見。お昼ご飯を食べる。
  • 日本でいうビルマカレーのお店に行く。カレー感はないし、カレー粉使ってるならカレーでしょという日本人の命名なだけで現地の人はそう思ってなさそう。ただ、美味しい。油だらけを覚悟していたが、案の定油だらけだった。変な野菜とかがつきだし?で出される。
  • その後は露店とか、ヤンゴン市内のローカルマーケットを散策する。
  • 露店は日本のワゴンセール的な財布が2500キャットとかで売っていたり、ジーパンが同様に5000キャットいかで普通に売られてたり、すごく安い。持ってきた長財布持ち歩くの嫌だったので2500キャットで財布購入(使わなかったけどw)。
  • 最終的に、おみやげ屋さんを探して辿り着いた。

    • タナカの石鹸とか化粧品とかをお土産に買う。だいたい 1000キャット。
    • ミルクティーと味見して美味しかったピーナッツ菓子も買う。30パック入りで100円、ピーナッツ菓子のほうは30ピースで1000キャット。安すぎる。大量に買ったが1000円も使えなかった。
  • めっちゃフレンドリーだし海外の人だからといって高めにふんだくってくることもないし、治安のよさに感動する。

  • その後は帰るためタクシーを探しはじめる。
  • なんかタクシー斡旋みたいなおじさんに声かけられて、タクシー?って聞かれる。目的地見せていくらですかというと、10000キャットと言われる。「高すぎィ!7000 キャットにして」って言ったら「無理無理無理」みたいなこと言われたのでじゃあいいですって言ったら9000キャットと言われ、「うーん8000!」と言ったらまた「いやいやいや」と言われて、いいです他探しますって言ったら8500になり、やっぱ他探しますって言ったら、「しょうがねえなあ8000ならいいよ!」って言われるみたいなやりとりをした。正直安いからいくらでも良かったんだけど面白かったのでついつい交渉をしてしまった。ただ、相場より正直少し高いんやろなぁという気持ちになったため、もっと交渉上手にならないといけないと思った。多分,7000を死守しないとだめですね。そのために初手5000とか法外な金額ふっかけたほうが良かったんだろうか。
  • でもなんか日本語で様々な挨拶をしてくるおっちゃんとかもいて、まあ斡旋だし市内から郊外のホテルに行くの、客が捕まる率が低いよなあとかいろいろ考えると、別に損した気分にはならなかった。
  • 帰ったあとはホテルの近くにあったスーパーマーケットに行く。なんかセキュリティが厳重で、入り口に警備員がいて身体検査されて驚く。スーパーではあらゆるものが安く、酒税がほとんど存在しないのか酒とかはとても安く、現地フード的なのはε価格で購入できそうだった。
  • My Little Ponyの絵柄のノートがあったのでついつい買ってしまった。12個入りで250円、安いが開いてみると時間割とか書いてあって完全に女児向けだった。それはそう。
  • 帰ったあとは練習しようと思ってたけど,みんな疲れてしまっていたので寝る.

12/8 (ここから3ヶ月後に書いてるため忘却しまくってる)

  • 今日はプラクティス
  • ホテルまでICPCの人が手配したバスがきて,UCSYまで送ってくれる.
  • バスが韓国から輸入されたであろう中古車だった(どうでもいい)
  • 大学に着く.記念撮影して,現金で参加費払って,その後朝食をもらう.
  • 開会式まで暇があったので学生をめぐる.一番驚いたのはUCSY,コンピューター専門大学なのにほとんど女子学生ばかりで,男女比が日本と全く異なっていた.制服が伝統的な衣装っぽくて男女ともにキレイ.
  • 開会式が始まる.初コンテストデスみたいな話を聞く.あとは伝統芸っぽい踊りを見る.日本のアジア地区同様,各学校の学生の自己紹介フェーズみたいなのが行われる.
  • 開会式が終わればプラクティス.普通にパソコンルームみたいなところでコンテストをするらしい.ちゃんと風船はある.

  • プラクティスがスッと始まる.

    • 最適化オプション無いらしい.-Oくらいつけてくれや.
    • でも自分で #pragma GCC optimize (“-O2”) するのはいいらしい.公平性とは…
    • A:難しそうな問題 + B:嘘貪欲誘発系自明問題 + C:場合分け問題 が出題される.
    • おっミャンマー,日本よりはるかに骨のあるプラクティス出してくるやん.期待が持てる.
    • Bの問題概要は,いくつか文字列が与えられるので辞書順で最も大きいものを求めなさい.有名問題ですね.
    • a + b > b + aでソートして出力するとWAする.草.
    • 嫌な予感がしたのでa > bでソートしたらAC.大草原.これはやばい.
    • C,曖昧な部分があり(入力制約がきちんと書かれているのに入力制約に違反したものが与えられるからそのときの対処をしろみたいなの),WAを量産しまくる.これは単に我々がダメだった.
    • Aは概要覚えてないけど昔のヨーロッパ地区の難しい問題の再出題らしく,解法に悩みまくった.
    • A通してるチームがいる.すごい.
    • 1完で終わる.冷える.まあいいやってなる.
  • 終わった後,噂によるとAはnがめっちゃ大きいけど実際にはnが70なのに5未満とかのケースしか含まれてなかったらしい.おいおい.
  • ホテルに帰ってチーム練習.このときはめちゃくちゃ練習うまくいった.
  • ホテルではルームサービスでハンバーガー食った.高い(現地価格じゃない)だけあって美味しい.
  • 朝早いので寝る.

12/9

  • 今日は本番.
  • 6時45分バス出発は健康的すぎて辛いからやめろ.
  • 8時半からコンテストが始まる.
  • あまりにも辛かったのでこの部分を書いたのが7ヶ月後で,全てを忘却しているため書けない.
  • 唯一覚えているのは以下の事柄
    • ジャッジがバグっていた + 一位のチームはジャッジと同じ間違いを器用に踏んでACしていた(すげえ).
    • とても数分では普通解けない構文解析を開幕数分で解いていた謎の現地チームがいた.
    • doubleの仕様で理論上取れうる範囲が書かれた問題文はじめて見たわ.
    • 何回もクラー飛ばしてたら偉い人が現れて非公開情報をくれた(これええのか!?)
    • 海外のチームはジャッジがバグっていたり制約が曖昧だったり,どう考えても普通ならTLEしそうな解法が通る問題,謎の枝刈り・謎の工夫を編み出すのが本当に早く,雑草のような(本当に他に表現が思いつかない)タフさがあった.壁を感じたし見習いてえ.
    • 現地チームの最上位より海外チームの最下位の順位の方が上だった.一年目だし仕方ないかなと思ったと同時に,ICPCに大学関係者一同とても力を入れているようなので今後が楽しみ,東南アジアはベトナムとかタイも含めて急激にICPC力が伸びてきている印象.
    • 最後のほうは解ける問題で慌ててしまいクソハマりまくってかなりひどい順位に(18位とかそんなんだった).
    • こういうハチャメチャわくわくコンテストで大敗したの悲しいわ.
  • ホテルでパーティー
  • みんなフレンドリー,開催側も含めてみんなフレンドリー,なかなか楽しい.

12/10

  • ふー終わった終わった.
  • ホテルまでICPCのスタッフがきてくれて,お見送りしてくれる&タクシー取ってくれる.優しい.
  • 空港,出国ゲート通るまでキャット→ドルの変換してくれる外貨両替所が無くて苦労した.
  • さあ帰国!Myanmar→台湾→日本だ.フライトが少し遅れているらしい.乗り継ぎやべえな.
  • 乗り継ぎ急げ〜〜って全力疾走して,ようやく搭乗口にたどり着いたんだけど,おかしいな…パスポートがパスポートケースに無い.
  • どうやら乗り継ぎ時(つまり出国検査後),パスポートを紛失するというレアケースをやらかしてしまったらしい.
  • 日本帰国できない機運が高まる.最初は搭乗は難しいから,空港で過ごしてもらうことになるかもと言われていた.
  • 乗り継ぎに使う航空会社が同一の会社だったことで本人確認が出来ているということ,日本へのフライトであることなどから,特別に搭乗を許可された.まあ日本の入国管理局に任せることになるんだろうし,この判断は助かった.
  • 日本に帰国して特別な部屋で入国のための書類を書かされる.帰宅後,速やかに戸籍謄本とか送る必要があるらしい.
  • なんとか帰宅できた.最後の最後でやらかしてしまった.パスポートはパスポートセンターで失効してもらった.大変だった.

感想

  • ミャンマーはコンテスト以外はめっちゃおすすめです.みんな親切です.少なくともICPC関係者は親切でした.
  • コンテストは,日本の無菌室で育てられたみたいな良質コンテストに慣れてると辛いかもしれないけど,めちゃくちゃな問題をラッキーで通してワンチャンWF狙いにいきたい人にはおすすめです.