問題

問題は下記の通りです。チェックプログラムに通る作品ができましたら、ログインしてマイページからご応募ください。

作品受付は終了しました。多数のご応募ありがとうございました。

問題とルール

問題

あるのどかな町で、働き者のUFOたちが、今日もあちこちでオレンジの箱を運んでいます。

UFOたちが効率よく手分けして運べるよう、あなたの知恵を貸してください。

UFOのお手伝い

ルール

UFOについて

UFOは円で表現されていて、「小型UFO」が8体、「大型UFO」が2体で、全部で10体います。

各UFOは任意の方向に移動ができ、それぞれ箱を積むことができます。

小型UFOは速く動くことができ、大型UFOはたくさんの箱を積むことができます。

家とUFOが重なった時に、UFOは家に箱を配達することができます。

農場とUFOが重なった時に、UFOは農場から箱を積むことができます。

家について

2次元の矩形で表現されたステージに、円で表現された家が配置されています。

ほとんどの家はまとまって配置されていて、街を形成しています。

一方で、街から離れたところにある家もあります。

農場について

ステージの中心には、円で表現された農場が配置されています。

箱の受け渡しについて

2つのUFOが重なっているとき、箱の受け渡しをすることができます。

1ステージの流れ

全ての家に配達が完了するまでの流れを1ステージと呼びます。

ステージ開始時、各UFOは農場の位置にいます。

処理は「ターン」と呼ばれる単位で行われます。

ターンは「受け渡しフェーズ」と「移動フェーズ」の2つのフェーズに分かれています。

受け渡しフェーズでは次の3種類のいずれかの行動を行うことができます。

箱の積み込み
UFOが農場と重なっているときに可能な行動です。
農場から積載限界まで箱を積み込みます。
箱の受け渡し
UFOが他のUFOと重なっているときに可能な行動です。
もう一方のUFOに対して、持っている箱を全部渡します。
積載限界を超えた場合は、できる限り多くの箱を渡します。
箱の配達
UFOが家と重なっているときに可能な行動です。
家に箱を配達し、積載量が1減ります。

受け渡しフェーズが終わると移動フェーズが始まります。移動フェーズでは次の行動を行うことができます。

移動
指定方向に向かって移動します。

移動フェーズが終わると、1ターン終了です。

全ての家に配達すると、そのステージは終了となり、次のステージに進みます。

2000ターンが経過しても配達完了できない時は、強制的にステージ終了。次のステージに進みます。

全てのステージでかかったターン数の総和が、最終的な評価となります。

ビューア

問題パッケージには、作品の挙動を確認できるビューアも含まれています。ビューアはwebブラウザで動作します。

ビューア

選考基準

総ターン数と処理時間

ステージを規定回数繰り返し、ターン数の総和を競います。

総ターン数が少ないほど上位となります。

総ターン数が同じ場合は、処理時間が短い作品から上位とします。

総ターン数も処理時間も同じ場合は、先に応募された作品から上位とします。

サーバの評価環境について

サーバの評価環境は、配布パッケージと基本的に同一です。

ただし、乱数のシード値は配布パッケージと異なるものが使用されます。

また、手元でエラーやタイムアウトにならない作品でも、サーバの評価環境ではエラーやタイムアウトになる可能性があります。

手元でいくつかの乱数シードを試すなど、安定した作品を目指すことをおすすめします。

詳しくは問題パッケージに含まれているREADME.txtをご覧ください。

問題パッケージのダウンロード

下のボタンで問題パッケージのダウンロードページへ進んでください。

問題パッケージダウンロードページ

問題パッケージに含まれるファイルの詳細については、問題パッケージダウンロードページをご覧ください。

作品規定

  • オリジナルのプログラムに限ります。
  • 使用可能な言語はC++です。※C++11が使えます。
    ただし、以下の機能は使用できません。
    • インラインアセンブラ
    • 例外(try,catch,throw 等)
  • 標準ライブラリが使えます。適宜、必要なファイルをインクルードして使用してください。
  • マルチスレッド、マルチプロセスは禁止とします。
  • #pragma は使用できません。
  • 巨大な応募作品はエラーとなることがあります。
  • 問題パッケージでは制限時間はありませんが、評価環境での制限時間は60秒です。
  • 応募前に必ずPC上で実行して、チェックが通ることを確認してください。
  • 特定のステージに依存したチューニングを行うことを禁止します。例えば、X番目のステージの時は、あらかじめ用意した配列に基づいて行動を決定するというような処理は禁止とします。
  • 応募作品は応募時に自動チェックされますが、後ほど実行委員会が直接チェックする場合があります。たとえチェックが通っていても、不適切と認められる場合は無効と判定されることがありますのでご了承ください。
  • 応募作品のチェックはハル研究所オリジナルの評価環境で行いますが、 問題パッケージに含まれるものと同一のチェックプログラムでのチェックとなります。ただし、評価環境では別の乱数のシード値で評価が行われますのでご注意ください。