P3614 yyy 棋 II

题目背景

本题是提交答案题,所有测试数据的输入均开放下载。选手需要提供输出数据。洛谷评测机会根据提交的数据来评分。 输入数据和 windows 的 checker http://pan.baidu.com/s/1jHU2UwQ linux 的 checker http://pan.baidu.com/s/1nv8Yuy1 #udp1:所有答案文件末尾必须有且只有一个回车

题目描述

我们的英明的 yyy 某日无聊,发明了一款风靡世界的游戏。为了纪念这个伟大的发明,自己起名为“yyy棋”。 在其中的一种情况下棋盘是长这样的: ``` xx...xx xx...xx ....... ....... ....... xx...xx xx...xx ``` 这种情况下一个 $7\times7$ 的棋盘,`.` 上可以走棋,而 `x` 上不能。只有1种棋子,我们假设是 `Y`。 最开始的初始棋子和障碍都是系统给定的。我们假设是这个样子: ``` xx...xx xx.Y.xx ...Y... ....... ....... xx...xx xx...xx ``` 走棋的规则很简单。任意一个棋子可以而且仅可以跳过它相邻的上下左右的一颗棋子而移动两格,而且目的地没有棋子且不是 `x`。跳过之后,被跳的那个棋子就会消失。所以像刚刚给出的的那个,我们可以将上方的一个棋子跳到下方,然后就成了这样: ``` xx...xx xx...xx ....... ...Y... ....... xx...xx xx...xx ``` 我们的目标是通过一系列运动,消除尽可能多的棋子。希望最后可以只留下一个棋子。由于 yyy 有强迫症,他还希望最后的这一个棋子能够停留在**中央**。

输入格式

所有输入数据 `yyychess1.in`~`yyychess10.in` ,分别对应 $10$ 个任务。 对于每一个任务: 第一行一个整数 $N$,表示棋盘的大小。 为了方便选手,我们定义坐标 $(i,j)$ 为第 $i$ 行第 $j$ 列。 接下来一行,一个自然数 $M$。 - 如果 $M=0$,那么 接下来是 $N\times N$ 的矩阵序列。我们用 `x` 表示不可走的地方,`o` 表示可以走但是没有放棋的地方,`y` 表示放棋的地方。每个字符不用空格隔开。 - 如果 $M>0$,那么 接下来是 $M$ 行,每行两个数字,依次表示每个棋子的坐标。这种情况下,没有障碍点。

输出格式

输出若干行,表示走法。 对于每一行,输出两个数字和一个字母。两个数字代表 $(i,j)$ 也就是棋子的坐标,剩下的一个字母是 `UDLR` 中的一个,分别表示上下左右跳。

说明/提示

### 样例解释 两个样例描述的是同一个棋盘,只是第二个没有障碍点。 第一个样例输出,可以拿 $100\%$ 的分数。 第二个样例输出,只能拿 $90\%$ 的分数,因为最后没有在中心 $(\frac{n+1}{2},\frac{n+1}{2})$。 ### 评分标准 当你的答案是合法的,并且最后只剩下一个棋子,而且这个棋子在最中心,得该点 $100\%$ 的分数。 当你的答案是合法的,并且最后只剩下一个棋子,而且这个棋子不在最中心,得该点 $90\%$ 的分数。 当你的答案是合法的,并且最后剩下 $2$ 个,$3$ 个,$4/5$ 个棋子,分别得该点 $80\%$,$60\%$,$40\%$的分数。 除此之外,包括有非法的走法以及剩下超过 $5$ 个棋子的,该点不得分。 压缩文件提供 `checker.exe` 可供预先使用。 #### 方法 所有文件解压,在命令行中输入 `checker.exe yyychess1.in youranswer.txt youranswer.txt` (最后两个是你的输出文件,请输入两次) 就会告诉你结果。