feature image

2016年6月25日 | 活動紹介

ICPC国内予選 2016参加記 ~Sobaya~

どうも、Namazuです。
ICPC国内予選に参加してきました(^_-)-☆
我々のチーム構成は以下の通りです。

チーム名:Sobaya(Team ID:102)

sobaya007が居ないのはご愛敬ということで。
ちなみに、使用言語はC++です。

結果は119位、8問中3問(A,B,C)正解という内容でした。

まず、ICPCとは?

ACM-ICPC とは、ACM (Association for Computing Machinery) という計算機学会が主催する、International Collegiate Programming Contest (国際大学対抗プログラミングコンテスト) という名前のプログラミングコンテストです。同じ大学で3人一組のチームを作り、チームでプログラミングと問題解決の能力を競う大会です。全世界で毎年3万人以上が参加する大会に成長しています。

ACM-ICPC の世界大会では、各国で開かれる地区大会を勝ち抜いたチームが、大学を代表して腕を競います。世界大会には、一つの大学から一つのチームしか参加できません。そのため、大学対抗プログラミングコンテストと位置づけられています。
(公式ページより引用)

要するに、世界規模の競技プログラミングコンテストですね。
AtCoderで開催されるプログラミングコンテストとは異なり、チームで問題に取り組む形になっています。

関連サイト等

大会公式ページ: http://icpc.iisf.or.jp/2016-tsukuba/domestic/?lang=ja
国内予選問題一覧: http://icpcsec.storage.googleapis.com/icpc2016-domestic/problems/all_ja.html
国内予選大会結果: http://icpc.tanaka.ecc.u-tokyo.ac.jp/icpc2016/common/guest_standings_ja.php

国内予選の振り返り

今回のけい

N:Namazu
S:Souring
G:gotoh

まず、大会始まったタイミングでひとこと。

S「とりあえず3完目指そう」

ということで、

A→Namazu
B→Souring
C→gotoh

という分担で取り掛かり始めました。
A問題はすぐに解法が分かったので、Namazuが書いて無事通過。
B,Cはまだ考え中だったため、とりあえずDを見ることに。

D→Namazu
B→Souring
C→gotoh

しかし、これがなかなかどうして解法が分からない。
すると、

S「やばいセグフォ(error : Segmentation Fault 11)出たけど意味わからん」

ということで一旦Dを放棄してBを解くことに集中。
さらに、

G「C行けるかも」

ということでPCをgotohに託し、Bのコードを印刷して紙デバッグをすることに。

B→Souring,Namazu
C→gotoh

Bも改善方法が良く分からず、Cも実装に難航して暫くこの状態が継続。
Bでgoto文を削除したあたりから突破口が見えてきて、サンプルの確認を経て提出すると無事通過。これで二問目。

G「多分C出来たけどクッソ重い」

とのことでC問題見てみると…

N「これエラトステネスの鰤じゃない?」

と思いつくが、焦っていたのもあってgotohの既に書いたコードとその方針が分からない…
ということで思い切って書きなおすことに。
その間、Souringとgotohは休憩を挟みつつDを考え始める。

C→Namazu
D→Souring,gotoh

実装で何度も止まりつつ、なんとかCも通過した。三問目。
この時点で既に残り30分。E以降を放棄してDに集中することに。

実はgotohが既にある程度書き終えていて、サンプルで試してみるがどうも合わない。
残り10分切ったあたりからはもう再帰関数の返り値を変えては試しを繰り返し、結局間に合わず終了。
結局Dは結構良い線まで行ったので惜しかった。

今回学んだこと

さて、今回の参加から学んだことをまとめると以下のようになります。

特に役割分担に関しては、今回なら

C→Namazu
D→gotoh

にしたほうが良かったですね。(結果論、後出しジャンケンとも考えられなくはないが)

チームで競技プログラミングに参加するのは初めてでしたが、個々の能力だけでなく"チーム"だからこその立ち回りも必要なことが良く分かりました。
来年こそはアジア大会出たいですね。(ってそばやが言ってた)

Namazu icon
この記事を書いた人
Namazu

Namazuです。 今まで制作に携わったゲームはTypingWar、EccentricEscape、進捗どうですか?、NinjaFlicker等です。 MonoGameにまつわる記事も書いています。

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2022年4月7日
traPグラフィック班の活動紹介
annin icon annin
2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2021年5月19日
CPCTF2021を実現させたスコアサーバー
xxpoxx icon xxpoxx
2021年3月19日
traPグラフィック班の活動紹介
NABE icon NABE
2023年9月26日
traP コンペ 2023 夏 sponsored by ピクシブ株式会社 運営後記
abap34 icon abap34
2023年7月13日
アルゴリズム班はやとき王選手権「競(けい)プロ」を開催しました!
abap34 icon abap34
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記