zoukankan      html  css  js  c++  java
  • 001 拿石头游戏,blast思想初步

    【摘录整理自 N.C.Jones 和 P.A.Pevzner 著《生物信息学算法导论》】

    游戏规则

    两堆石头,每堆n块。每个人每一轮允许从一堆石头中拿走一块或从两堆石头中各拿走一块,拿走不许放回;谁拿走最后一块,谁赢。

    2+2 战术 【每堆2两块石头】

    如果对方从每一堆拿走一块石头,我方拿走剩下石头并win;
    如果对方拿走一块石头,我方从同一堆拿走一块,只剩一堆石头,对方只能先拿一块,我方再拿,win。

    3+3 战术

    符号含义

     ↑  表示从A中拿走一块石头

     ↖ 表示从两堆各拿走一块石头

     *  谁这步是先手谁不用再玩,因为不会赢

     ←  表示从B中拿走一块石头

    位置(i,j), A堆和B堆分别有 i块 和 j块 石头。

    若游戏是3+3(A堆和B堆分别有3个石头)

    1)第三行第三列是↖,从两堆中各拿一个石头(A 2 B 2)

    2)第二行第二列,符号为*,对手怎么拿,我方都会赢

    3)对手那里B堆拿一块石头(A2 B1)

    4)参考(2,1),←,我方从B堆拿一块石头 (A 2),我方赢

    3‘)对手从A堆拿一块石头(A1 B2)

    4’)参考(1,2),↑,我方从A堆拿一块石头 (B 2),我方赢

    10 + 10 战术

  • 相关阅读:
    7.1类模板
    异质链表
    8.1多态性
    8.2虚函数
    error: C2664: “zajiao::zajiao(const zajiao &)”: 无法将参数 1 从“const char [12]”转换为“char *”
    #include <QPushButton>
    6.3多重继承
    华为集群后killsql命令和查看mr占用的磁盘空间
    linux的逻辑运算符
    test命令
  • 原文地址:https://www.cnblogs.com/artesian0526/p/9288037.html
Copyright © 2011-2022 走看看