zoukankan      html  css  js  c++  java
  • hdu 2188(巴什博弈入门 )

    /*如果n=m+1,那么由于一次最多只能取m个,所以,
    无论先取者拿走多少个,后取者都能够一次拿走剩余
    的物品,后者取胜。因此我们发现了如何取胜的法则:
    如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先
    取者要拿走s个物品,如果后取者拿走k(≤m)个,那么
    先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以
    后保持这样的取法,那么先取者肯定获胜。总之,要保持
    给对手留下(m+1)的倍数,就能最后获胜*/

    #include<iostream>
    using namespace std;

    int main(){
    int c;
    while(cin>>c){
    int n, m;
    for(int i=0; i<c; i++){
    cin>>n>>m;
    if(n % (m + 1)){
    cout<<"Grass"<<endl;
    }
    else{
    cout<<"Rabbit"<<endl;
    }
    }
    }
    return 0;
    }

  • 相关阅读:
    python -- twisted初探
    python -- redis连接与使用
    redis使用
    python -- 异步编程
    python
    python
    福大软工 · 最终作业
    福大软工 · 第十二次作业
    Beta 冲刺(7/7)
    Beta 冲刺(6/7)
  • 原文地址:https://www.cnblogs.com/cbyniypeu/p/3538198.html
Copyright © 2011-2022 走看看