パソコン甲子園の予選に参加しました

ふぃらっはです.ようやく秋っぽい気候になってきて嬉しいです.

さて,去る9月15日,パソコン甲子園プログラミング部門の予選に部員が参加しました.参加人数は1~3年生の計8人です.感想を兼ねて,参加報告記事を書いていこうと思います.

1. パソコン甲子園とは

会津大学によって毎年開催されている高校生向けの大会で,プログラミング技能を競うプログラミング部門,スマートフォンアプリを開発するモバイル部門,作成したCGの芸術性を競ういちまいの絵CG部門の3部門からなります.システム研究部では,毎年1~3年生がプログラミング部門に参加しています.また,何度か本選にも出場しています.直近では2017年2015年ですね.

今回参加したプログラミング部門の予選では,12問の問題が出され,3時間の間にどれだけ多く・どれだけ早く・どれだけ正確に解答プログラムを作成できるかを競います.ちなみに,2人1組のチーム制です.

2. 予選の内容

ぼくは「炊飯主義」というチーム名で,同じく3年生のGLaTANくんと出場しました.

1~3問目は型通りの(基礎的なプログラミング技術を問う)問題だったので難なく解けました.4問目も簡単に解けそうだと思って取りかかったところ,パターンを考えるのが少し大変でかなり時間を食いました.今思えば,入力データが小さいので総当たりをやってもよかったかもしれません.それでもなんとか解くことができました.この時点で45分くらい経過しています.
5問目はデュードニー数に近いような数を探す問題でした.最初に愚直な総当たりを書き,それっぽく動いたので提出したところTLE(時間制限超過)を喰らいました.計算量の見積もりは大事ですね.ちょっと考えると,総当たりをする必要はないことがわかり,通りました.
6問目はボゾソートという(遅い)ソート技法に絡んだ問題です.実装が大変でした.通したときには残り1時間くらいになっていました.
7問目は経路のパターンを数える問題で,典型問題っぽい感じだったのでとりあえず再帰DPを書きましたが,メモリが足りなくて不正解でした.for-DPを書いた経験が数えるほどしかないので解けませんでした.つらいです.
GLaTANくんが11問目の解法を考えていてくれてて,最後の方はそっちに取りかかっていました.時間が残っておらず,残念ながら通せませんでした.

と,ぼくたちのチームはこんな感じでした.昨年は6完2WAで31位だったのですが,今年は同スコアで(暫定順位が)51位と大幅に下がっていました.全体的に,参加者のレベルが上がっている印象を受けました

3. 感想

まず思ったこととして,(先ほども述べましたが)大会のレベルが上がっているっぽいです.最近はAtCoderをはじめとした競技プログラミングのサービスが人気になっていて,競プロ人口が増えているのもあると思います.それから,現在の高校1年生世代に強い人が多いなあと感じます.昨年度参加したJOIでも,当時の中学3年生がたくさんの良い成績を収めていたように記憶しています.自分も精進に励んで,大会で入賞するまでいかなくとも,なんとか平均水準に追いついていきたいです.

それと,これは嬉しいニュースなんですが,シス研の後輩(1・2年生)が素晴らしい成績を収めてくれました.個人的にノルマだと思っていた3完は全チーム達成していますし,2年生チームから1~5の5完,1年生チームから1~4+7の5完がそれぞれ出ました.特に7問目を初参加で解けたのは快挙と呼ぶべきでしょう.新人賞が出るかもしれません.
1・2年生の皆さんは,12月のJOI予選や来年以降の大会でも素晴らしい結果を出してくれることと思います.

今後も,後輩の活躍を応援しつつ,プログラミング技術を磨いていきたいです.


コメントを残す

メールアドレスが公開されることはありません。