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にまつわる記事も書いています。

この記事をシェア

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

関連する記事

2021年3月19日
traPグラフィック班の活動紹介
NABE icon NABE
2021年4月18日
ベズー係数とN項の拡張ユークリッドの互除法
0214sh7 icon 0214sh7
2018年12月12日
多重スリーブの世界と,各種進捗報告。
Silviase icon Silviase
2021年4月26日
CPCTF2021 作問者writeup by hukuda222
hukuda222 icon hukuda222
2021年4月25日
CPCTF2021 作問者writeup by xxpoxx
xxpoxx icon xxpoxx
2018年12月16日
ICPCアジア地区横浜大会参加記【アドベントカレンダー2018 52日目】
eiya icon eiya
記事一覧 タグ一覧 Google アナリティクスについて