Reshetov>>: Бородатая игра. Называется "Ним". Стратегия заключается в том, что количество спичек на каждом "этаже" преобразуется в двоичное число, а потом считается четность-нечетность для отдельных колонок нулей и единиц.
Пример: предположим, в игре три кучки, в них соответственно 2 (0010 в бинарном представлении), 8 (1000) и 13 (1101) предметов. Ним-сумма этой позиции — 7 (0111).
Следовательно, выигрышная стратегия состоит в том, чтобы взять 3 предмета из третьей кучки — там останется 10 (1010) предметов, и ним-сумма позиции станет 0 (0000).
Предположим, после вашего хода противник забирает все предметы из первой кучки — выигрышная стратегия будет заключаться в том, чтобы забрать 2 предмета из третьей
кучки. В таком случае после вашего хода в кучках будет соответственно 0 (0000), 8 (1000) и 8 (1000) предметов, ним-сумма по прежнему будет равняться 0.
Попробуем разобрать пример, который приведён на википедии.
Складываем числа:
0010+1000+1101 = 0111 если не учитывать перенос единиц в старший разряд. Согласен. Как только ним-сумма была вичислена, автор утверждает, что нужно взять три предмета из третьей кучки. Вот этого-то я и не понял. С чего он взял что брать нужно только три предмета и почему именно из третьей кучки? Ведь для того, чтоб ним-сумма стала равна 0 нужно из числа 0111 вычесть 0111, то есть, вычесть семь.
Конечно, можно - если противник тоже владеет оптимальной стратегией. И от того, кто ходит первым, тоже зависит, похоже.
そうそう、2列というのがポイントですね。でも、ただの2列ではなく、資格を持って。
- 1,1したら負け
- をn,n(n>1)に等しくしておいたら、負けた。
- 不等号を2つ残せば、彼の勝ちです。
問題は、この2列に対してどのように最適な手を打つかである。
Ухххх, Парни, ТАКУЮ штуку сегодня поймал - закачаетесь :)))))))))
酔っぱらって数字を2進数に変換していたとは思えないが......。まあ、少人数の場合は簡単なんですけどね。もし、彼の胸にすでに3パイントのビールがかかっていたらどうでしょう?
Бородатая игра. Называется "Ним". Стратегия заключается в том, что количество спичек на каждом "этаже" преобразуется в двоичное число, а потом считается четность-нечетность для отдельных колонок нулей и единиц.
解決策はあるのでしょうか?
На википедии https://ru.wikipedia.org/wiki/Ним_(игра) есть описание выигрышной стратегии. Честоно говоря, я так и не понял, в чём суть. Как-то мутно написано.
そこには、すべてが明確に書かれているのです。マッチング数を2進数に変換し、モジュロ2の論理加算でビット単位の演算を行う - これはパリティと奇数の計算の完全なアナログである。戦略、つまりゼロにしたい数字を得ることができるのです。マッチング数がストラテジー数以上となる「フロア」を取る。それが等しければ、床のマッチをすべて引き当てる。
等しくない場合は、2進法の加算剰余を使って、床にあるマッチの数をナンバーストラテジーに加える。その結果、つまり次のプレイヤーの動きが確実に負けるためには、「床」にいくつのマッチが残っている必要があるかが分かるのです。床」から余分なマッチを取り去る。
この人、酔っ払って数字を2進数に変換し
てたんだろうか...。まあ、少人数の場合は簡単なんですけどね。すでに胸に3リットルのビールが入っていたらどうするんだ?
すべてがよりシンプルになりました。このような試合数であれば、酔っていてもすべての勝ちの組み合わせを簡単に記憶し、思い出すことができます。学生時代の私はまさにそれを実践し、仲間を打ち負かした。だから、ヒゲゲゲーだと言っているんです。
wikipediaに記載されている例を解析してみよう。
数字を足し算していく。
上位桁への単位移行を考慮しない場合、0010+1000+1101=0111となります。同意見です。ニムサムが計算できたら、3つ目の山から3つのアイテムを取ることが必要だと著者は述べている。そこが理解できないのです。3点だけ持っていく必要があると、なぜ3つ目の山から持っていったのか。なぜなら、和が0になるためには、0111を引かなければならないからです。つまり、0111という数字から7を引かなければならないのです。
Попробуем разобрать пример, который приведён на википедии.
Складываем числа:
0010+1000+1101 = 0111 если не учитывать перенос единиц в старший разряд. Согласен. Как только ним-сумма была вичислена, автор утверждает, что нужно взять три предмета из третьей кучки. Вот этого-то я и не понял. С чего он взял что брать нужно только три предмета и почему именно из третьей кучки? Ведь для того, чтоб ним-сумма стала равна 0 нужно из числа 0111 вычесть 0111, то есть, вычесть семь.
0010
1000
1101
-----
0111がその結果です。つまり、最初の列は偶数個のマッチ、残りは奇数個のマッチです。
3階 1101=13名
3階の山の数を結果で足し算する。
1101
0111
----
1010 = 10
13 - 10 = 3, すなわち,3階から3本のマッチを取り除けば,10本のマッチが残り,2進法では1010となる
残っているものを確認します。
0010
1000
1010
-----
0000は勝利の戦略