oj1029: john的游戏(智力题)

题目要求
john发明了一个好玩的游戏,叫mike一起玩.
这个游戏是这样的,john先写下一排数。既然是一排,当然有首尾咯。
john和mike每次只能从这排数的头或尾取一个数。
最后谁取的数的和多,谁就赢了。如果两人的和一样多,先取者胜。
现在你的任务就是判断在两人总是做出最优决策的情况下(两个人的智商都是很高的……),
谁能取得最终的胜利呢?
Input
第一行为一个数k(k<=10),表示有k组测试数据。
以下k组测试数据。
每组测试数据中,第一行仅有一个偶数n(0 < n <= 100000 )
第二行也仅有一个数,1表示john先取数,0表示mike先取数.
第三行有n个数,是john给出的一排数。这n个数的绝对值均不超过1e6.
Output
对每组测试数据输出一行
表示在两人总是做出最优决策的情况下,
最终的胜利者的名字,即"john"或"mike"(引号不输出)。
Sample Input
Raw
2
2
1
1 3
2
0
1 3
Sample Output
Raw
john
mike
在连续的数字中分出奇数合(s1)和偶数和(s2),第一个人先手可以选择s1或s2,这时选择两个数中大的那个就可获胜。总而言之,谁先手谁赢。

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int str[100005];
int main()
{
    int n, num, sign, i;
    cin >> n;
    while (n--)
    {
        cin>>num>>sign;
        for (i = 0; i < num; i++)
            cin>>str[i];
        if (sign == 1)
            printf("john\n");
        else
            printf("mike\n");
    }
    return 0;
}

你可能感兴趣的:(oj1029: john的游戏(智力题))