(zoj 3882 Help Bob)<>

Problem

传送门
题意:有1~n个数字,两个人轮流选择一个数字,并把它和它的约数擦去。擦去最后一个数的人
赢,问谁会获胜。


Solution

这个证明比较玄学

  • 假设有某种必胜策略(无论是先手还是后手)
  • 假如是先手必胜,那么Bob会按照必胜策略即可赢
  • 假如是后手必胜,那么Bob可以选择1,因为1是任何数的约数,相当于把后手的机会留给了自己
  • 因此无论如何,Bob都有必胜策略
  • 注意特判n==0

Code

// by spli
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
using namespace std;

int n;

int main(){
    while(scanf("%d",&n)!=EOF){
        if(n) puts("win");
        else puts("fail");
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值