zoukankan      html  css  js  c++  java
  • HDU2147kiki's game(其它博弈)

    题意:        棋的初始点是(1,m),即右上角。        下棋者只能往左边(left),左下面(left-underneath),下面(underneath),这三个方格下棋。 解题思路: 只要画出NP图就可以发现规律了。。。 N:必胜点(如果左边,左下角,下角有一个P点,那么这个点就是N点) P:必败点(如果左边,左下角,下角全都是N点,那么这个点就是P点) 最后棋子一定到达(n,m)这个点,所以我们从这个点开始画。 图: NNNNNNNNNNNNNNNNNN PNPNPNPNPNPNPNPNPN NNNNNNNNNNNNNNNNNN PNPNPNPNPNPNPNPNPN NNNNNNNNNNNNNNNNNN PNPNPNPNPNPNPNPNPN NNNNNNNNNNNNNNNNNN PNPNPNPNPNPNPNPNPN NNNNNNNNNNNNNNNNNN PNPNPNPNPNPNPNPNPN NNNNNNNNNNNNNNNNNN PNPNPNPNPNPNPNPNPN 发现规律了吧。 代码:
    #include<iostream>  using namespace std;  int main(void)  {      int n,m;      while(scanf("%d%d",&n,&m),n||m)      {          if(!(m&1))          {              cout<<"Wonderful!"<<endl;          }          else          {              if(!(n&1))                  cout<<"Wonderful!"<<endl;              else                  cout<<"What a pity!"<<endl;          }      }      return 0;  } 
  • 相关阅读:
    珍珠项链——容斥的应用
    协程库中 WaitGroup / CountDownLatch 实现
    简单C++线程池
    switch 比 if/else 效率更高?
    [LeetCode 264.] 丑数 II
    [LeetCode 229.] 求众数 II
    [NC41] 最长无重复子数组
    [NC105] 二分查找-II
    高楼扔鸡蛋
    C++ 编译期计算
  • 原文地址:https://www.cnblogs.com/cchun/p/2520136.html
Copyright © 2011-2022 走看看