[CSA] Round #1 Unfair Game

Unfair Game

https://csacademy.com/contest/beta-round-1/task/unfair_game/statement/

ゲーム系の問題は最適な戦略は何かを見つけることが重要です。両者の最適な行動をプログラムに落とし込むには色々な問題を解く必要があります。

考え方

どのような行動が最適か分からなかったので、解説を読むことにしました。下の記事がとても分かりやすかったです。

http://imulan.hatenablog.jp/entry/2016/09/03/224338

初手で非負の整数を全て取るので、その和を先に計算しておきます。また、負の整数のリストを用意して、降順に整列させます。あとは、1つ飛ばしで負の整数の和を計算します。全てが負の整数ならば、負の整数を最初に1つ取るか、2つ取るかを調べる必要があります。非負の整数があるときは、負の整数を最初に1つとるか、取らないかを調べます。

ソースコード

感想

ゲーム系の問題は苦手なので、積極的に解いていきたいと思います。また、ミニマックスなどのアルゴリズムも使ってみたいですね。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする