欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NOI:6626 取石子游戏

程序员文章站 2024-03-15 08:34:35
...

题目链接:

NOI:6626 取石子游戏

NOI:6626 取石子游戏

题意:这道题是一道数学题,主要根据提示判断石子堆倍数大于2倍时判断输赢,否则只取一倍石子

#include <stdio.h>
#include <iostream>
using namespace std;
int main(){
    int n,m;
    cin>>n>>m;
    while(n!=0&&m!=0){//输入
        int size=0;
        while(n!=0&&m!=0){//假如一方为0
        if(n<m){
            int tmp=n;
            n=m;
            m=tmp;
        }
        size++;
            if(size%2==0){//对于先手后手来说,只要两个石子倍数大于等于2,都结束游戏
                if(n/m>=2){
                    cout<<"lose"<<endl;
                      break;
                }
              
            }else{
                if(n/m>=2){
                    cout<<"win"<<endl;
                            break;
                }
        
            }
            n=n-m;

        }
        if(size%2==0&&n==0){//判断当一堆为0时,谁赢
                cout<<"lose"<<endl;
            
        }else if(size%2==1&&n==0){
                cout<<"win"<<endl;
            
        }
                    cin>>n>>m;
    }
}
相关标签: NOI