luogu#P3614. yyy棋 II
yyy棋 II
题目背景
本题是提交答案题,所有测试数据的输入均开放下载。选手需要提供输出数据。洛谷评测机会根据提交的数据来评分。
输入数据和windows的checker
http://pan.baidu.com/s/1jHU2UwQ
linux的checker
http://pan.baidu.com/s/1nv8Yuy1
#udp1:所有答案文件末尾必须有且只有一个回车
题目描述
我们的英明的yyy某日无聊,发(chao)明(xi)了一款风靡世界的游戏。为了纪念这个伟大的发明,自己起名为“yyy棋”(kkk:喂!P2361已经叫做yyy棋了这个是smg?)
在其中的一种情况下棋盘是长这样的:
xx...xx
xx...xx
.......
.......
.......
xx...xx
xx...xx
这种情况下一个7*7的棋盘,‘.’上可以走棋,而‘x’上不能。只有1种棋子,我们假设是‘Y’。
最开始的初始棋子和障碍都是系统给定的。我们假设是这个样子:
xx...xx
xx.Y.xx
...Y...
.......
.......
xx...xx
xx...xx
走棋的规则很简单。任意一个棋子可以而且仅可以跳过它相邻的上下左右的一颗棋子而移动两格,而且目的地没有棋子且不是'x'。跳过之后,被跳的那个棋子就会消失。所以像刚刚给出的的那个,我们可以将上方的一个棋子跳到下方,然后就成了这样:
xx...xx
xx...xx
.......
...Y...
.......
xx...xx
xx...xx
我们的目标是通过一系列运♂动,消除尽可能多的棋子。希望最后可以只留下一个棋子。由于yyy有强迫症,他还希望最后的这一个棋子能够停留在Zhong央。
输入格式
所有输入数据 yyychess1.in~yyychess10.in ,分别对应 10 个任务。
对于每一个任务:
第一行一个整数N,表示棋盘的大小。
为了方便选手,我们定义坐标(i,j)为第i行第j列。
接下来一行,一个自然数M。
- 如果M=0,那么
接下来是N*N的矩阵序列。我们用x表示不可走的地方,o表示可以走但是没有放棋的地方,y表示放棋的地方。每个字符不用空格隔开。
- 如果M>0,那么
接下来是M行,每行两个数字,依次表示每个棋子的坐标。这种情况下,没有障碍点。
输出格式
输出若干行,表示走法。
对于每一行,输出两个数字和一个字母。两个数字代表(i,j)也就是棋子的坐标,剩下的一个字母是UDLR中的一个,分别表示上下左右跳。
7
0
xxoooxx
xxoyoxx
oooyooo
ooooooo
ooooooo
xxoooxx
xxoooxx
2 4 D
7
2
2 4
3 4
3 4 U
提示
样例解释
两个样例描述的是同一个棋盘,只是第二个没有障碍点。
第一个样例输出,可以拿100%的分数。
第二个样例输出,只能拿90%的分数,因为最后没有在中心
评分标准:
当你的答案是合法的,并且最后只剩下一个棋子,而且这个棋子在最中心,得该点100%的分数。
当你的答案是合法的,并且最后只剩下一个棋子,而且这个棋子不在最中心,得该点90%的分数。
当你的答案是合法的,并且最后剩下2个,3个,4/5个棋子,分别得该点80%,60%,40%的分数。
除此之外,包括有非法的走法以及剩下超过5个棋子的,该点不得分。
压缩文件提供checker.exe可供预先使用。
方法:
所有文件解压,在命令行中输入checker.exe yyychess1.in youranswer.txt youranswer.txt (最后两个是你的输出文件,请输入两次)
就会告诉你结果。