qscoj:喵哈哈村的烧烤店(阶梯博弈)

来源:互联网 发布:fm2016数据库编辑器 编辑:程序博客网 时间:2024/04/28 06:11

喵哈哈村的烧烤店

发布时间: 2017年3月19日 16:00   最后更新: 2017年3月19日 16:00   时间限制: 1000ms   内存限制: 128M

喵哈哈村的烧烤店开张了,这里的烧烤特别好吃。

星星同学和月月同学听闻后,就准备去吃烧烤。

这里的烧烤特别nice,星星同学点了n串烧烤。第i串烧烤上面有a[i]块肉,满足a[i]<=a[i+1]

现在月月同学想和星星同学玩一个游戏:

星星同学和月月同学分别轮流吃烤肉,每次可以选择一个烤串吃若干个烤肉,但是必须满足a[i]<=a[i+1]的约定。如果谁不能继续吃下去了,那么就输了。

假设星星同学和月月同学都是非常机智的,那么谁能获胜呢?

第一行一个T表示数据组数。
接下来T组测试数据,每组测试数据第一行一个n,表示烤串数量。
第二行n个整数a[i],表示第i个烤串上的烤肉数量。

满足1<=n<=1000,0<=a[i]<=10000

如果先手胜利,输出Star,否则输出M

 复制
222 231 2 4
MoonStar 


题目:http://qscoj.cn/problem/49/

题解:http://www.cnblogs.com/qscqesze/p/6580390.html


#include<stdio.h>int a[1005];int main(void){int T, n, i, x, ans;scanf("%d", &T);while(T--){ans = 0;scanf("%d", &n);for(i=1;i<=n;i++)scanf("%d", &a[i]);for(i=n;i>=1;i--)a[i] = a[i]-a[i-1];for(i=n;i>=1;i-=2)ans ^= a[i];if(ans==0)printf("Moon\n");elseprintf("Star\n");}return 0;}


1 0
原创粉丝点击