【NOJ1083】【算法实验四】花生米(二)

1083.花生米(二)

时限:1000ms 内存限制:10000K 总时限:3000ms

描述

五一长假第二天,Tom和Jerry在仓库散步的时候又发现了一堆花生米(这个仓库还真奇怪)。这次Tom制定分花生米规则如下:
1、Tom和Jerry轮流从堆中取出k粒花生米吃掉,k可以是1,5,10中的任意一个数字;
2、为显示规则的公平性,Jerry可以选择先取或者后取。
Jerry当然还是希望最后一粒花生米被Tom吃掉。请计算,Jerry为了达到目的应该先取还是后取。

输入

本题有多个测例,每个测例的输入是一个整数n,n大于零小于等于1000,代表花生米的数量。
n等于0表示输入结束,不需要处理。

输出

每个测例在单独的一行内输出一个整数:Jerry先取输出1;Tom先取输出0。

输入样例

1
2
3
4
0

输出样例

0
1
0
1

#include <iostream>
 
using namespace std;
 
int status[1010];
 
void Search()
{
    
    
	int i;
    for(i = 1; i <= 10; i++)
    {
    
    
        if(i % 2 == 0)
            status[i] = 1;
        else
            status[i] = 0;
    }
    for(i = 11; i <= 1000; i++)
    {
    
    
        if(status[i-1] == 1 && status[i-5] == 1 && status[i-10] == 1)
            status[i] = 0;
        else
            status[i] = 1;
 
    }
}
 
int main()
{
    
    
    Search();
    int n;
    while(cin >> n && n)
        cout << status[n] << endl;
}

猜你喜欢

转载自blog.csdn.net/weixin_45619006/article/details/110210955