• 締切済み

プログラム【その2】

N回振ることができるタバスコとピザがテーブルに置かれています。 二人で交互にピザにタバスコを振っていきます。 1回あたりに出るタバスコの量は決まっています。 今回は,自分の順番で残りのタバスコを全て振ることができたら勝ちとします。 負けた人は,ピザを食べないといけません。 このゲームは,以下のルールに従います。 ルール1:二人で対戦してパスはなし.自分の番の時には,必ず1回以上タバスコを振らなければならない。 ルール2:最初にコショウを全部振ることは出来ない。 ルール3:自分の番の時に振れるタバスコの回数は,相手が振ったタバスコの回数の2倍以下までである。 【実行例】 タバスコをかける回数 (2~100) 4 3回まで振ることができます。 私は1回タバスコを振ります。 残りは3回です。 2回まで振ることができます。 2回振ります。 残りは1回です。 1回まで振ることができます。 私は1回タバスコを振ります。 残りは0回です。 あなたの負けですね。 残さず食べてくださいね!

みんなの回答

  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.2

最後のひとふりを確実に得たいということですよね? 許容量=x タバスコ残数>=x+1 自分の番で、x/3を振ります。 そうすると、相手は最大で2x/3を振れますが、最大量振っても 合計で3x/3=xですから、タバスコ残数には届きません。 次回以降も同様にしていれば負けないはずです。 思考ルーチンはこんな感じです。 残り全部振れるか? 振れる -> 全部振ってあがり 振れない -> 振れる最大量の1/3を振る(1/3が0なら1振る) 上記では0振りたいケースで1振らされて負けるんですけど、 宿題ならこのくらいの戦略でもいいような気がします。 いかがでしょうか。 ルール2のせいで糞ゲーになってますけど。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

なんて馬鹿なプログラムなんだ. 最初に自分でタバスコを全部かければ必ず勝てるのに. さておき, 現代の技術で「プレイヤーにピザを無理やりにでも食べさせることのできるプログラム」を作ることは不可能です.

関連するQ&A