H - yuuko和mio的博弈

"这篇博客介绍了一个两人博弈问题,玩家yuuko和mio通过从一串正整数数列中轮流取首尾数来决定胜负。数列和为奇数,确保不会有平局。mio总是先取。问题在于确定yuuko何时能赢得游戏。示例展示了一个4数列{5, 10, 1, 3}
摘要由CSDN通过智能技术生成

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个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值