Nepire的校OJ入门题解—17蓝桥选拔篇(六)

来源:互联网 发布:java微信退款接口demo 编辑:程序博客网 时间:2024/06/05 06:17

欢迎来到Nepire的校OJ入门题解——————17蓝桥选拔篇(六)

这次我主要是讲解第⑨届蓝桥杯全国软件和信息技术专业人才大赛校内选拔赛的七道题目,中间可能会扯到一些其他东西,然后就开始我们的入门题解吧呜喵

Problem F:道歉

Description

小张发现那家洗脚城是正规的,因此想要和他的女朋友翠花道歉,于是邀请翠花第二天去看《左耳》,结果第二天小张去了电影院,翠花去了医院的耳鼻喉科。小张没有道歉成功,于是又去买了一朵花送给翠花。
这朵花有n个花瓣,翠花想和小张玩个游戏。他俩轮流摘花瓣,规定每次只可以摘一片或者相邻的两片(如果某片花瓣被摘,和它相邻的两片花瓣不能算相邻),谁摘到最后一片算谁赢。小张先手,他想知道如果两人都采用最优策略他是否能赢。

Input

输入数据第一行是一个整数T(T <= 10),表示有T组测试数据。
每组数据输入一个整数n(0 < n <= 100000)。

Output

每组数据输出一行,如果小张能赢,就输出“Win”,否则输出“Lose”。

Sample Input

2
2
5

Sample Output

Win
Lose

Source

解题思路

这题可能是这次考试代码最简单的,后摘花的除了片数为2或3必赢,所谓的最优策略小Nep觉得应该是前一步对方摘了多少,自己便相邻的摘掉多少,这样对称的玩下去,最后一步的状态都是两片或三片。

参考代码

#include <ctype.h>#include <errno.h>#include <float.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <wchar.h>#include <wctype.h>#include <assert.h>#include <limits.h>#include <locale.h>#include <math.h>int main(){    int t,n;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        if(n==2||n==3)        {            printf("Win\n");        }        else        {            printf("Lose\n");        }    }}

下次17蓝桥校选拔Problem G,欢迎大家在下面评论建议

——Nepire

阅读全文
0 0
原创粉丝点击