hdu2897 邂逅明下 巴什博弈

     看到题直接去打SG表,果断T掉了=..发现这题一共有10W组数据...细想想容易发现,对于区间[L,R],[1,L]lost,[L+1,L+R]win [L+R+1,L*2+R]lost ,[2*L+R+1,2*L+2*R]win..胜负状态是以l+r为循环节循环的,那么n%=(l+r)就可以直接判断了...

#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdio>
using namespace std;
typedef long long ll;
int n,m,l,r;
int main()
{

    while (~scanf("%d%d%d",&n,&l,&r))
    {
        n=n%(l+r);
        if (n>=1 && n<=l) puts("LOST");
        else puts("WIN");
    }
    return 0;
}


你可能感兴趣的:(hdu2897 邂逅明下 巴什博弈)