邂逅明下
HDU - 2897题意:一堆硬币,从中每次取p~q个硬币(若剩下的硬币小于p, 就全取完),取走最后硬币的玩家输;
给出n个硬币,以及p,q,判断先手输赢;
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
using namespace std;
int win[65540];
int main(){
int n, p, q;
while(~scanf("%d%d%d", &n, &p, &q)){
/*
//打表过程:
memset(win,0, sizeof(win));
for(int i=p+1; i<=n; i++){
int k=p;
while(k<=q){
if(k>i) break;
if(win[i-k]==0) win[i]=1;
k++;
}
}
for(int i=0; i<=n; i++){
printf("i:%d %s\n", i, (win[i]?"win":"lose"));
}
*/
if(n%(p+q)<=p&&n%(p+q)>=1) printf("LOST\n");
else printf("WIN\n");
}
return 0;
}