HDU 2897 邂逅明下(巴士变形)

题意:

给你n个石子,你最少取p个,最多取q个,问谁能赢

 

题解:

变形版的巴什博弈,当n>=q+1的时候,那么还是以q+1为一组拿走,剩下一个(n%(q+1)),这个时候如果它小于p的话都直接输了,如果大于p的话就赢了

           当n<q+1的时候和上面一样处理就可以了

 

代码:

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<math.h>
 6 #include<stack>
 7 #include<math.h>
 8 using namespace std;
 9 const int maxn=1000000;
10 int main()
11 {
12     int N,n,m;
13     while(~scanf("%d%d%d",&N,&n,&m))
14     {
15         int q=N%(n+m);
16         if(q)
17         {
18             if(q<=n)
19                 printf("LOST\n");
20             else
21                 printf("WIN\n");
22         }
23         else printf("WIN\n");
24     }
25     return 0;
26 }
View Code

 

posted @ 2019-08-13 11:51  kongbursi  阅读(441)  评论(0编辑  收藏  举报