No.2ベストアンサー
- 回答日時:
> ・石がなくなったとき、とった石の数が多いほうが勝ち。
>・ただし、最後の1個は、石30個分として扱う。
「石1個が1点、ただし最後の石だけは30点」と考えると分かり易くなります。
> このゲームに必勝法はありますか。
全ての情報が先手後手の双方に見えていて、しかもサイコロのような確率が入って来ないゲームですから、原理的に、(双方が最善を尽くせば)必ず引き分けにできるか、(後手が最善を尽くしても)先手必勝か、(先手が最善を尽くしても)後手必勝か、のどれかです。
先手の得点と後手の得点の合計は常に(N-1+30)点ですね。N=60の場合には得点の合計が89点であり、ところが双方とも得点は整数なので、引き分けはありえません。従って、先手必勝か、後手必勝か、必ずどっちかです。
> もしあるなら、どうしたら勝てますか。
Nが1以上60未満なら、「最後の1個を取ったら勝ち」というゲームと同じです。必勝法は、「(相手が何をやろうとも)常に4の倍数個を残す」だけ。なのでNが4の倍数なら後手必勝、さもなければ先手必勝です。
たとえばN=56の場合は後手必勝。後手Yは必ず4の倍数個を残せるから、最後の1個はYが必ず取れる。先手Xはなるべく多くの石を取るために毎回3個を取るのが最善手で、それに対してYは常に4の倍数個を残すために1個を取る。これを14回繰り返してゲームは終わり、Xは42個取って42点。Yは14個を取るが、うち1個が30点なので43点、1点差でYの勝ち。(Xが他の手を打てば、点差が広がるだけ。)
N=57(58, 59)の場合は先手必勝。先手Xは1(2, 3)個を取って4の倍数個である56個を残す。これでXが最後の1個を取れることは確定。後手Yはなるべく多くの石を取るために毎回3個ずつ取るのが最善手で、それに対してXは毎回1個を取る。これを14回繰り返してゲームは終わり、Yは42個を取って42点。Xは15(16, 17)個を取るが、うち1個が30点なので44(45, 46)点で、2(3, 4)点差でXの勝ち。(Yが他の手を打てば、点差が広がるだけ。)
N=60の場合には4の倍数だけれども話が変わり、先手必勝です。後手Yは最後の1個を取ることを狙って、必ず4の倍数個を残すとしましょう。一方、先手Xはいつも3個を取るとしましょう。すると結局、Xは45個の石を取り、45点。Yは15個の石を取り、うち1個が30点なので合計44点。だから1点差でXの勝ち。
こうなることを避けるためにYが一度でも2個以上の石を取ると、以後、Xは常に4の倍数個を残すことによって最後の1個の石を取ることができる。しかもXが最初に3個取っているために、Yが取れる石の個数は高々42個(Yが毎回3個ずつ取ったとしても42個)。従って5点以上の差を付けてXが勝つ。なので結局、Yは4の倍数個を残すという方法で最後の1個を取るのが最善(点差が最小)です。
N=61だとどうか。先手Aが最初に石をs個取ることによって、Aがまずs点獲得する。そして後手Bの手番になります。これで、N=61-s(=60,59,58)の場合にX=B, Y=Aとなったのと同じ状況です。N=60, 59, 58はどれも「X=B必勝」なのだけれども、問題は最初にAが取ったs点。N=60, 59, 58のどれかのゲームでX(=B)がY(=A)にs点未満の差しか付けられないようにY(=A)が打つことが出来れば、結局Aの必勝法があるという事になるし、それが出来なくても、XがYに丁度s点差しか付けられないようにY(=A)が打つことが出来れば、Aには引き分けに持ち込む方法があるということです。どちらでもなければ、Bの必勝法があるということ。
この結論がどうなるかは、ご自分で考えてみては如何でしょ。それが出来たら、N=62, 63, についてもやってみると宜しいかと。
回答ありがとうございます。
石の数が60個未満の時はニム?と同じ、60のときは逆に先手必勝ということですね。
61個以上の時は個別に1つ1つ考えないといけないのでしょうか。
少し自分でもしらべてみます。
No.4
- 回答日時:
ANo.2へのコメントについてです。
> 61個以上の時は個別に1つ1つ考えないといけないのでしょうか。
関数f(N) を 「最初の石の数がNであるときに、両者がそれぞれなるべく多くの点を取ろうと最善を尽くした場合、先手が後手に比べて何点多く取るか」という意味だとします。すると、ANo.2により
f(58) = 3
f(59) = 4
f(60) = 1
でした。
N=61のとき。
先手Aが初手としてs個(s=1,2,3のどれか)を取る場合のそれぞれについて考えます。
・s=3の場合、X=B, Y=AのN=58において、f(58)=3、つまりYが最善手を打ってもXは3個の差をつけて必勝でした。ということは、Aが最初に取ったs=3個を合わせますと、s-f(58) = 0。つまりAが最善手を打つとX=Bは勝てず、しかし引き分けになら持ち込める。
・s=2の場合、X=B, Y=AのN=59において、f(59)=4。ということは、Aが最初に取ったs=2個を合わせますと、s-f(59) = -2。つまりAが最善手を打ってもX=Bは2個の差をつけて必勝である。ですから、先手Aはs=2を選択してはいけませんね。
・s=1の場合、f(N-s)=f(60) = 1。ということは、s-f(60)=0。つまりY=Aが最善手を打つとX=Bは勝てず、しかし引き分けになら持ち込める。
という訳で、N=61の場合には先手は初手としてs=1か3を選択するのが最善手であり、結果は引き分け。つまり、
f(61)=0
N=62のとき。
・s=3の場合、f(N-s) = f(59) = 4なので、s-f(N-s) = -1。つまり後手Bが必勝ですから、先手Aはs=3を選択してはいけませんね。
・s=2の場合、f(N-s) = f(60) = 1、s-f(N-s)=1。先手Aが1個差をつけての必勝です。
・s=1の場合、f(N-s) = f(61) = 0、s-f(N-s)=1。先手Aが1個差をつけての必勝です。
という訳で、N=62の場合には先手は初手としてs=1か2を選択するのが最善手であり、結果は1個の差をつけて先手必勝です。つまり、
f(62) = 1
N=63のとき。
・3-f(N-3) = 2
・2-f(N-2) = 2
・1-f(N-1) = 0
という訳で、先手は初手としてs=2か3を選択するのが最善手であり、結果は2個の差をつけて先手必勝。つまり、
f(63) = 2
もうお分かりでしょうけれど、N>60では、f(N)は漸化式
f(N) = max{s-f(N-s) | s∈{1,2,3} }
で計算できるわけです。さらに
f(N) = (N mod 6)が
1のとき…0 (引き分け)
2か0のとき…1 (先手必勝、1個差)
3か5のとき…2 (先手必勝、2個差)
4のとき…3 (先手必勝、3個差)
になることが証明できるでしょう。
No.3
- 回答日時:
先手が最初に3個とって必勝でしょう。
もし次に後手が最後の石を取りに聞く作戦を取ったとしても(すなわち1個を取る)、No1さんの言うとおり45:44で勝ちです。後手がそれ以外の作戦をとると、逆に先手が最後の1個を確実にとりに行くことができ、最悪でも47:42で勝ちます。N個の時の最後の石の価値はやはり30なの?
この回答への補足
> N個の時の最後の石の価値はやはり30なの?
えーと、繰り返しになってしまいますけど、
質問とNo.1の補足に記載した通り、最後の1個は石30個分として扱います。
No.1
- 回答日時:
後攻なら、負けない方法はありますね。
先攻の人が取った石と合わせて4個になるように、毎回取っていけばいいのです。1個なら3個、2個なら2個、3個なら1個。そうすれば、最後の30個は必ずとれることになります。問題は、先攻の人が毎回3個取った時。最後の30個の権利を取るためにはいこで応えていかなくてはなりませんが、そうすると、60÷(3+1)で15回ですから、先攻は3×15で45個の石。後攻は1×14+30=44、おっと、最後の1個が30に数えるのであれば、負けてしまうね。最後の1個を取った人には30個のボーナスが与えられる、というのであれば、足して4になるようにすれば、最低でも引き分け。
30個のボーナスとすれば、石の個数が4の倍数+αの場合、各回を4の倍数+αになるようにしていけば、先攻・後攻のいずれかにおきての必勝パターン、というより、必ず負けない取り方となる。
この回答への補足
ええと、、、
質問に記載した通り、最後の1個は石30個分として扱います。
追加で30個分もらえるという意味ではありません。
つまり、全体では石89個分です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 石取りゲームをC言語プログラムで教えてください 1 2022/04/09 14:16
- Java Java 石取りゲーム 3 2023/02/02 15:46
- 大学・短大 至急教えてください。アリゴリズムの問題です。 下の図3×9のマス目において、白いコマと黒いコマが3個 12 2022/07/07 18:05
- 数学 場合の数、確率 49 (東大文系過去問) 7 2023/08/25 15:10
- 野球 楽天の石井監督が退任する場合、ポスト石井は誰がいいと思いますか? 2 2022/09/25 18:50
- 呼吸器・消化器・循環器の病気 虫垂炎(盲腸)の糞石について。 つい先日腹痛がひどかったため救急で病院へかかり虫垂炎と診断されました 1 2023/03/09 11:04
- 呼吸器・消化器・循環器の病気 総胆管結石の再発について 1 2022/11/18 15:24
- K-POP 白石麻衣さんが成功者・勝ち組になれた理由は何だと思いますか? 4 2022/10/05 15:50
- 洗濯・クリーニング・コインランドリー 次亜塩素酸、塩素のニオイについて とある高級感ある弁当を作る製造工場で洗い場専門の仕事を派遣で勤務し 3 2022/06/13 17:36
- 日本語 なぜ「壊石料理」と記述するのでしょうか? 26 2023/06/17 13:01
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「相手の先手を取る」という表...
-
五目並べで後手の必勝法について
-
飛車→龍、角行→馬になるのはなぜ?
-
シルバーアクセサリについて
-
街中歩いてる時、帰宅時など、...
-
私が藤井聡太くんに勝つにはど...
-
先程アルミホイルに塩とお湯を...
-
石田流にしたいのだが角交換さ...
-
銀製かわからないジッポライタ...
-
矢倉を覚えた初心者なのですが...
-
1ヶ月トータル15万歩は、少ない...
-
「歩三兵」の下手の最善の応手
-
香車の裏の赤い文字は?
-
右矢倉はだめ?
-
【早石田戦法】早々に角交換さ...
-
子供の名前に、『あゆむ』とつ...
-
将棋盤の材質の見分け方
-
原始棒銀VS原始棒銀
-
一目散に矢倉を目指すのを咎めたい
-
石取りゲームの必勝法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ぷらちなロンブーの[NOT100]に...
-
黒ひげ危機一発の先手・後手、...
-
「相手の先手を取る」という表...
-
日本では「先制的対応」のよう...
-
A,B,C3種類の文字で無限列を作...
-
大きい自然数を言い合うゲーム
-
確率
-
至急教えてください。アリゴリ...
-
ニム 双対ゲーム 1、3、5、7(...
-
攻めるという意味の四字熟語教...
-
次の石とりゲームに必勝法はあ...
-
ゲームの後手が勝てる方法を教...
-
算数ゲームの必勝法
-
コースターの並べ方
-
沈黙は金、雄弁は銀。どちらの...
-
五目並べで後手の必勝法について
-
次の1手問題(詰めろを続ける)
-
飛車→龍、角行→馬になるのはなぜ?
-
子供の名前に、『あゆむ』とつ...
-
太極拳の型の日本語読みは?
おすすめ情報