其他分享
首页 > 其他分享> > H - yuuko和mio的博弈

H - yuuko和mio的博弈

作者:互联网

H - yuuko和mio的博弈

Description

yuuko今天又双叒叕忘带作业了(其实根本没有写),为了应付老师的检查yuuko决定借mio的作业抄。虽然mio不想借,但也不好意思直接拒绝,于是mio提出要和yuuko玩一个游戏,如果yuuko赢了就借给她抄,否则就不借。

游戏规则是这样的:首先给出由nn个正整数组成的数列(保证nn为大于00的偶数),mio和yuuko两人轮流从这个数列中取数,每次取数的时候只能从数列的两端取,即数列中第一个数或最后一个数,被取走的数字会从这个数列中移除,当整个数列取完的时候谁取得的数字和最大谁就获得胜利。(保证给出的数列和为奇数,所以不存在平局的情况)

mio和yuuko都很想赢,因为yuuko不想到走廊罚站,所以她想请你判断什么时候她可以获胜。

因为mio是“上古神器”,所以她总能先取

Input

第一行输入 tt ( 1 \le t \le 100)(1 ≤ t ≤ 100)代表有tt组输入

每组输入包含两行,第一行给出nn (2 \le n\le 2000,n为偶数)(2 ≤ n≤ 2000,n为偶数) 代表该数列由nn个正整数构成;第二行给出nn个正整数a_iai​ (1 \le a_i\le 1000)(1 ≤ ai​≤ 1000),中间用空格间隔,代表组成该数列的nn个数字

Output

输出获胜者的名字,"mio!"或"yuuko!"(不带引号,每个输出占一行)

Sample

Input 

1
4
5 10 1 3

Output 

mio!

Hint

开始数列为{5,10,1,3},mio取3,数列变成{5,10,1};然后yuuko取5,数列变成{10,1};然后mio取10,数列变成{1},最后yuuko取1,整个数列全被取完。mio的总和是3+10=13,yuuko的总和是5+1=6,所以mio获胜

 伪 博 弈!!

代码如下:

#include <stdio.h>
#include <stdlib.h>

int a[10010];

int main() {
    int t;
    scanf("%d", &t);
    while (t--) {
        int n, i;
        scanf("%d", &n);
        for (i = 1; i <= n; i++) scanf("%d", &a[i]);
        printf("mio!\n");
    }
    return 0;
}

标签:10,le,博弈,数列,mio,nn,yuuko
来源: https://blog.csdn.net/LanceLSf/article/details/121582863