[NOIP模拟赛]游戏
2017-07-27 14:22
190 查看
【题目描述】
A 和 B 在玩游戏。桌子上有 n 个格子,其中一些格子放有棋子‘x’,空格子用‘o’表示。A 和 B 轮流进行以下操作中的任何一种。
(1) 当某一个棋子右边有空格时,将该棋子向右移动一位。
ooxoo -> oooxo
(2) 当某一个棋子右边恰好是连续的两个棋子时,将该棋子直接跳过连续的两个棋子。
ooxxxoo -> oooxxxo
当棋子到达终点(最右端的格子)时,棋子将消失。当某一方不能移动时,这方输。A 先走。请问 A 是否必胜?
【输入格式】
多组测试数据。
对于每一组测试数据:第一行输入一个整数 n,表示格子数量。第二行输入长度为 n 的‘x’‘o’串。
【输出格式】
对于每一组测试数据,输出一行“YES”或者“NO”。
【样例输入】
4
ooxo
4
xxxo
5
oxxxo
【样例输出】
YES
NO
NO
【数据范围】
对于 30%的数据,n≤20
对于 100%的数据 ,n≤10^6,测试数据组数 T≤5,最后一个格子为空。
【来源】
By tsy
题解:
首先确定一点:无论走操作(1)还是操作(2),走的步数一定是奇数。
操作(1)是一个棋子走一步;操作(2)可以看作三个棋子一起走一步,一共走了三步。
然后看题。题目可以简化成三个条件:①A走第一步;②A、B轮流走;③A要赢得走最后一步。
于是就可以得出A的胜利条件:所有棋子走到最右的总步数之和必须是奇数。
P.S.这是我做过的最简单的模拟题,没有之一。
A 和 B 在玩游戏。桌子上有 n 个格子,其中一些格子放有棋子‘x’,空格子用‘o’表示。A 和 B 轮流进行以下操作中的任何一种。
(1) 当某一个棋子右边有空格时,将该棋子向右移动一位。
ooxoo -> oooxo
(2) 当某一个棋子右边恰好是连续的两个棋子时,将该棋子直接跳过连续的两个棋子。
ooxxxoo -> oooxxxo
当棋子到达终点(最右端的格子)时,棋子将消失。当某一方不能移动时,这方输。A 先走。请问 A 是否必胜?
【输入格式】
多组测试数据。
对于每一组测试数据:第一行输入一个整数 n,表示格子数量。第二行输入长度为 n 的‘x’‘o’串。
【输出格式】
对于每一组测试数据,输出一行“YES”或者“NO”。
【样例输入】
4
ooxo
4
xxxo
5
oxxxo
【样例输出】
YES
NO
NO
【数据范围】
对于 30%的数据,n≤20
对于 100%的数据 ,n≤10^6,测试数据组数 T≤5,最后一个格子为空。
【来源】
By tsy
题解:
首先确定一点:无论走操作(1)还是操作(2),走的步数一定是奇数。
操作(1)是一个棋子走一步;操作(2)可以看作三个棋子一起走一步,一共走了三步。
然后看题。题目可以简化成三个条件:①A走第一步;②A、B轮流走;③A要赢得走最后一步。
于是就可以得出A的胜利条件:所有棋子走到最右的总步数之和必须是奇数。
#include<cstdio> const int Mod=1e4; const int N=1e6+10; int n, sum; char s ; int main() { while( ~scanf( "%d%s", &n, s+1 ) ) { sum=0; for( int i=n-1; i; i-- ) if( s[i]=='x' ) sum=( sum+(n-i)%Mod )%Mod; if( sum&1 ) printf( "YES\n" ); else printf( "NO\n" ); } return 0; }
P.S.这是我做过的最简单的模拟题,没有之一。
相关文章推荐
- 【NOIP模拟赛】战棋游戏
- 【noip模拟赛】环上的游戏
- [NOIP模拟赛]棋子游戏
- noip模拟赛 小球游戏 cqbzoj3391(网格路径模型)
- 2018.01.26【NOIP普及组】模拟赛D组——游戏(atlantis.pas/cpp)
- 拓扑,DP noip 模拟赛 [益智游戏] 题解
- noip模拟赛 圆桌游戏
- NOIP Mayan游戏 - 搜索
- 2017.07.15【NOIP提高组】模拟赛B组小结
- 2017.07.16【NOIP提高组】模拟赛B组小结
- 2016.09.03【初中部 NOIP提高组 】模拟赛A总结
- 【noip2012提高组】国王游戏
- noip模拟赛 逃避
- noip模拟赛 残
- 2016.09.10【初中部 NOIP提高组 】模拟赛C
- 【noip2012 T2】 国王的游戏
- NOIP2013 转圈游戏 解题报告(快速幂)
- noip2011 玛雅游戏 大模拟
- NOIP2011(DAY1)解题报告(C/C++)(铺地毯)(选择客栈)(Mayan 游戏)
- 2015.11.1 XJOJ(NOIP模拟赛)总结