HDU 2149 - Public Sale

来源:互联网 发布:zookeeper 集群 linux 编辑:程序博客网 时间:2024/05/22 07:07

巴什博奕。

(1)如果m>n,则先行者第一次取n~m之间任意数都能保证其必胜。

(2)如果n%(m+1)==0,则必败。

(3)如果n%(m+1)!=0,则第一次先行者必须拿n%(m+1)个,才能保证必胜。

代码如下:

#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;int ways[102];int main(){#ifdef test    freopen("input.txt", "r", stdin);#endif    int m, n;    while(scanf("%d%d", &n, &m) != EOF)    {        if(n%(m+1) == 0)            printf("none\n");        else if(m >= n)        {            for(int i=n; i<m; ++i)                printf("%d ", i);            printf("%d\n", m);        }        else            printf("%d\n", n%(m+1));    }    return 0;}


原创粉丝点击