Article

2020年7月16日

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

昨年の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位入賞者によるプレゼン資料を上げておきます。

発表会資料

優勝者 Tiayoさん

2位 Fy999さん

3位 logicmachineさん

最終ランキング

順位スコア平均順位使用言語
11925051.447C++
22223781.672C++
32413031.814C++
42539811.910C++
52567911.931Lisp
62632211.979Python
72747992.066Python
82976592.238Python
93222922.423C++
103317712.495C++
113496102.629Python
123538172.660C++
133578872.691C++
143699352.781Python
153920982.948Python
163921242.948C++
173923452.950C++
184010553.015C++
194055703.049Python
204067073.058C++
214127363.103C++
224403003.311C++

おわりに

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

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

About Author

nox

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Recent Comments

Social Media