2022年8月26日
「PG BATTLE 2021」に参加してきました!
-
- Category ブログ

こんにちは、うましと申します。
社内のメンバーでチームを組み「PG BATTLE」に参加してきました!
大会の概要と結果、実際に参加してみて感じたことをお届けします。
これから参加されるかたの参考になりますと幸いです。
【参加者】
チームTT:まるたけ、SinGo、うまし(筆者)
【大会概要】
「PG BATTLE / プログラミングバトル」とは…
PG BATTLEは、1チーム3名による企業・学校対抗プログラミングコンテストです。作品を提出して審査する方式ではなく、出題された問題を解くプログラムを90分間に4つ書いてオンライン提出するガチ勝負。
今年で4回目となるPG BATTLEは、毎年1,000名を超える社会人、学生が参加し、熱いバトルが繰り広げられています。今年も昨年同様、10月に開催予定です。
【開催日】
2021/10/23(土) 13:00 – 14:40
【開催場所】
受験は会場を使用せず、会社・学校・自宅等からインターネット経由でリモート受験。
※引用:2021年の大会HPより
https://products.sint.co.jp/pg_battle_2021
お気づきのかたもいらっしゃると思いますが、
この記事を書き始めるのに、7か月もかかってしまいました。。
なので、思い出しながら、当日の流れや感想など体験記を書いていきます!
2022年も10月に開催されるようなので、気になっているかたの後押しになればと思います!
前日まで
まずは前日までの過ごしかたです。
1.練習問題を解く
自分自身、競技プログラミングという分野を知らなかったので、
まずは練習問題を解いてみました。
正直簡単なメソッドも調べながらコーディングしている自分にとっては難しい問題ばかりでした。
練習問題を解いたのが大会1週間前だったので、そこから勉強する時間もなく、
当日は記念参加だな、、と悟りました。。
2.使いかたを知る
上の大会概要でもありますが、リモート開催のため、
コーディング・ソースコードの検証・提出など、すべてをWeb上で行います。
なので、アプリケーションの使いかたをあらかじめ知っていないと回答時間が削られます。
事前にWebで練習ができるので、初めてのかたは練習問題を解いておくのをオススメします!
当日
【開始前】
当日は参加URLと時間のみ告知された状態で迎えました。
我々3人はTeamsで集まって雑談しながら開始時刻を待ちました。
他の参加者も同じ状態で参加するので、他の参加者との交流はなく、
大会当日という雰囲気はありませんでした。
【開始!】
開始時刻になり、URLを開き問題を解きます。
画面には以下のような要素があり、好きなプログラミング言語を約50種の中から選択できます。
コードの入力やテストがカンタンに行えました。
※対応言語(https://products.sint.co.jp/topsic/service/pg)

画面イメージ(参考)
問題のレベルが3段階分かれているので、
自分が申し込んだレベル(ましゅまろ)の問題を解いていきます。
相談禁止なので、Teamsでつなぎながら大会ルールに沿って黙々と解きます。
【順位/勝敗】
チーム3名がそれぞれ別の問題に挑戦し、チームの合計点を競います。
問題は、「ましゅまろ」「せんべい」「かつおぶし」の3つのレベルが用意されています。
合計点が同じだった場合は、解答時間の合計が少ないチームが上位となります。
【注意事項】
処理時間が規定値をオーバーすると不正解になるので、ダサいアルゴリズムでタイムアップしないように注意してください。
※引用:2021年の大会HPより
https://products.sint.co.jp/pg_battle_2021
※問題一覧はこちら
https://products.sint.co.jp/q_list_2021
【終了】
タイマーが90分を超えると提出できなくなるので、解けたらすぐに提出します。
さらに提出すると上書きされるので、
提出できなかった!!という事態を避けるためにも、ソースコードを変更したらすぐに提出するのをオススメします!
チーム3人でどんな問題が出ただの、1問解けなかっただの話して、その日は終了です。
初めて競プロに参加しましたが、リモートなのであっけなく終わった感がありました。
後日
YouTubeにて、結果発表会がありました。
大会説明やトークセッション、結果発表が①~⑤の動画に分かれてアップされています。
【YouTube】PG BATTLE 2021 結果発表会
2021/10/30(土)16:00〜
https://youtu.be/RSjkH5Z4gHE?list=PLnNY0P_Gy1ddNEDZvkvAdshTB9vmsh7pA
結果は、110位 / 192位 !
振るわない結果となってしまいましたが、なんと飛び賞でスポンサー賞をいただきました!
上記動画(2:48ころ)が飛び賞(企業の部)の結果発表です。
110位に対しても取り上げられました。ぜひご視聴ください。
1万円相当の商品の中から3人それぞれ、飛び賞(スポンサー賞)をいただくことができました。
私がいただいたのはこちら。
大会ステッカーもいただきました。
プログラミングの楽しさや奥深さを感じた1日になりました。
興味のあるかたはぜひ参加してみてください!
大会を終えて(参加者のコメント)
まるたけ(かつおぶし)
久々に出場しました。
第一回大会のときと同じ流れで「TOPSIC」というサービスを使います。
直感的でわかりやすいUIに、安心感と懐かしさを感じつつ
制限時間との現実的な戦いで、エキサイティングできた90分間でした。
「プログラミング言語を選ぶ」→「プログラムを書く」→「RUN(自動テスト)」の流れで
入力値に対し、想定した期待値が返ってきたときの嬉しさに感動です。
対応する言語も増えていているので、より幅広い層が参加しやすくなっていると感じました。
猛者も集まる大会と思いますが「腕試し」だけでなく
書いて動かすことの「おもしろさ・楽しさ」を純粋に楽しめるイベントです。
気軽に無料で参加できるのもオススメですね。
※2022年の大会も2022/10/20まで募集中のようですので、お近くの仲間と一緒にぜひ!
SinGo(せんべい)
練習問題をやる前までは「いかに綺麗にコーディングできるか」ということを考えていました。
しかし…
練習問題をやってみたところ、そもそも問題が難しい… (大学受験を思い出しました)
答えを出すので精一杯で綺麗なコードを心がけるのは二の次でした。
練習問題も多くこなせず、当日は4問中1問しかできず、
残り3問は時間が足らずに不完全燃焼…
感想としては、プログラミングするのは楽しい!
難しいロジックを考えたりするのは頭の体操にもなるし、
仕事でも、PGバトルほど難しいロジック考えないので、綺麗なコードを心がける余裕が生まれた気がします。
次回も参加して、今回よりできるように頑張ります!
うまし(ましゅまろ)
数学的な考えが必要な問題ばかりで、プログラミングより数学を解く時間が大半をしめていました。。
受験勉強でやったはずなのに、思った以上に忘れてました、、、
ただ、数学の難しい問題でもプログラミングで解けるんだ!とその可能性の広さに改めて気づきました。
もともとプログラミングは勉強途中で得意ではなかったので、苦戦をしましたが、
こんな世界もあるんだなぁといういい機会になりました!