🏆

第8回 フィックスターズ社内プログラミングコンテスト『素数大貧民』 結果発表会

に公開

こんにちは。社内プロコン担当エンジニアの二木です。

昨年の12月から開催されたフィックスターズ社内プログラミングコンテスト『素数大貧民』ですが、5月29日(金)に締め切られ、6月26日(金)に結果発表会が行われました。そのご報告となります。

素数大貧民

まずは今回の課題である素数大貧民のルールについて振り返ってみます。

  1. 3001枚のカードを4人のプレイヤーに199枚数ずつ配り、残ったカードは山札として中央に積む。
  2. 最初の親が手札から最初の数(最大5枚)を出し、以降順番に次のプレイヤーがカードを出し重ねていく。
  3. 次のプレイヤーは、手番が回ってきた時点で「場に出されたすべてのカードと同じ枚数」かつ「直前に出された数より大きい数」しか出すことができない
  4. 出せるカードがない時、もしくは戦略上出したくない時にはパスして、山札からカードを 5 枚引く。
  5. 他のプレイヤー全員がパスし、再び場にあるカードを出したプレイヤーまで順番が回ってきたらそのプレイヤーは親になる。
  6. 2~5を繰り返し、手札がなくなるか、山札がなくなった時点でゲームが終了する。手札が一番少ないプレイヤーが勝利する。

更に、特別ルールとして「メルセンヌ素数切り」と「ベルフェゴール素数切り」があります。前者は自分の手番に出した素数がメルセンヌ素数であれば即座に場を流すことができ、後者は先のルールに縛られず自分の手番でいつでもベルフェゴール素数を出して場を流せます。因みにベルフェゴール素数とは666の両端に13個の0を並べてその先に1がある素数を指します(1000000000000066600000000000001)。

以上のルールに則り、一対戦で4人の参加者が戦ってスコアを競います。

結果発表会

今回のコンテストの参加人数は20人で、過去最多タイとなりました。新型コロナウイルスの影響が続く中、たくさんの方々にご参加いただきありがとうございます!

また、今回から公式ウェブサイトによるプログラム提出サービスとジャッジシステムを開発・導入しました。これまでのようにメールで提出されたコードを運営側で手動でビルド実行するようなことはなくなり、ウェブ上からの提出ですぐに結果が得られるようになりました。その影響もあったのか、全参加者の半数近くの20名中9名が社外からの参加となりました。今後はよりシステムを洗練させ、さらに参加しやすい環境にしていきます。

そして、投稿されたプログラムはどれも様々な工夫と独自の戦略を持ち、とても興味深いものでした。勝ちにこだわる姿勢を垣間見ることができ、それだけでも苦労して問題を作った甲斐がありました。

以下に、当日の結果発表会資料と1位から3位入賞者によるプレゼン資料を上げておきます。

発表会資料

第8回 社内プログラミングコンテスト 結果発表会 from Fixstars Corporation

優勝者 Tiayoさん

第8回 社内プログラミングコンテスト 第1位 taiyo from Fixstars Corporation

2位 Fy999さん

第8回 社内プログラミングコンテスト 第2位 fy999 from Fixstars Corporation

3位 logicmachineさん

第8回 社内プログラミングコンテスト 第3位 logicmachine from Fixstars Corporation

最終ランキング

順位 スコア 平均順位 使用言語
1 192505 1.447 C++
2 222378 1.672 C++
3 241303 1.814 C++
4 253981 1.910 C++
5 256791 1.931 Lisp
6 263221 1.979 Python
7 274799 2.066 Python
8 297659 2.238 Python
9 322292 2.423 C++
10 331771 2.495 C++
11 349610 2.629 Python
12 353817 2.660 C++
13 357887 2.691 C++
14 369935 2.781 Python
15 392098 2.948 Python
16 392124 2.948 C++
17 392345 2.950 C++
18 401055 3.015 C++
19 405570 3.049 Python
20 406707 3.058 C++
21 412736 3.103 C++
22 440300 3.311 C++

おわりに

今回のコンテストでは、ジャッジシステムを含む専用ウェブシステムの構築を初めて試み、さらに、新型コロナウイルスの社会への影響もあって、いつも以上の困難に見舞われましたが、なんとか無事に終えることができました。これもひとえに、たくさんの参加者と、その素晴らしいコードの活躍のおかげだと感じています。まさに「コードで殴り、勝利を掴め!」を地で行ったのではないでしょうか。

今年も開催しますので、どうぞ皆様ご参加ください!

Fixstars Tech Blog /proc/cpuinfo

Discussion