田舎高専生のメモ置き場

技術ブログとかではないです。

高専プロコン2015 競技部門に少し参加しました

こんにちは,@solis_mbです.

この度、熊本高専 熊本キャンパスとして高専プロコン2015 競技部門に少し参加しました.
結果は準決勝で敗退と悪い結果でしたが、ソースコードが公開されてます.
https://github.com/knct-densan/procon26

(注) ここから別に技術的な話は一切しません

私はairi.exeを担当しましたが、今から見苦しい言い訳を書いていきます。
今回プロコンに参加するにあたって、メンバー(@y1r96)にはGUIをやってほしいと言われ「いいぜ」と言ったものの、プログラムの勉強はほとんどしていません(興味はあるが勉強するとは言ってない)し、GUIC#で実装が楽ということでC#使ったんですが、学校の授業で30分くらい触った程度でした。ましてオブジェクト指向なんて4年生になって「オブジェクト指向とは〜クラスとは〜」というテキスト序盤の数十ページ程度しか勉強していません。
ですが、「本番で使う三台のマシンはローカルなサーバーを使って協調して解を提出して〜〜」というものを要求されたので、正直なとこ無理だろう思ってたら本当に無理でしたごめんなさい……
全然わからなかったので去年のプロコンでwasaなんとか先輩が書いたプログラムとか大阪高専様が公開しているプログラムをパクらせていただきました大変申し訳ございません。

準決勝敗退という結果でしたが、メンバーの@lmdexprくんのツイートの通り
https://twitter.com/lmdexpr/status/652730646813503488
シンガポール研修終わり深夜の便で帰国(福岡) -> 飛行機で熊本から東京へ -> 東京から新幹線で長野へ(全て10日土曜日)
という鬼畜日程だったので許してくれという感じではあります…プロコン移動距離部門だとダントツ1位だと思います…

[1日目] AM1時ほどからなんとかシステムを完成させようと徹夜して書いたんですが、いかんせん疲れていて何をしているのか全く分からなくなり追加したコードはほぼ破棄しました。
結局、協調して解を提出というものは実装できませんでしたが、ボタン押したら 問題DL、ソルバに投げる、競技サーバーへ提出 という最低限度の機能はまあなんとか動いてくれたのでそれを使いました。ソルバーのパラメータを変えたやつをそれぞれ走らせて、メンバーと口頭で返ってきたスコア読みあげて「スコアOOでましたポストします」みたいなアナログなことしてました。

[2日目] 1日目の晩御飯に美味しい信州味噌ラーメンをご馳走になって、PM8時半あたりで「よし、協調は無理でももう少しまともなシステム作ろう」と意気込んでたんですが、ホテルに帰って仮眠をとると言ってベッドに横になってしまったのが間違いでした。気が付いたら朝の7時すぎで状況を飲み込むのに10秒ほどかかり、「ヤバイヤバイ」と急いで会場に向かいました。
敗者復活戦が行われている間Visual Studioとずっとにらめっこをしていて、試合開始10分前に「よっしゃ出来た!」と予選より断然使い勝手の良いものが出来たんですが、5分前にバグを踏んで(恥ずかしいミスだったので書きません)、結局予選と全く変わらない旧airi.exeを使いました…新airi.exeは無駄になりました…
f:id:solismb:20151013033736p:plain
(↑本来動くはずだったairi.exe)

メンバーに非常に迷惑をかけてしまい申し訳なさしかありません。ほんとは私のソースもきったないので公開したくないのですがこれも処刑だと思って我慢します…

反省としてはちゃんと計画的にコードを書こう、プログラムの設計まわりをちゃんと勉強しようなど挙げたらキリがないです。
グダグダと書きましたが、なんだかんだ楽しかったです。
プロコンに関する質問は@y1r96まで。

[小ネタ] Q : airi.exeって名前なに?
A : 白鹿愛莉ちゃんかわいいよ