P6317 [COCI 2006/2007 #3] TENKICI
题目描述
在一个 $n\times n$ 的棋盘上,有 $n$ 辆坦克,每辆坦克可以攻击到自己所在的行和列上的所有格子。
刚开始一个孩子正在畅快淋漓地玩着这局自己心目中的“二战”,但是他的母亲突然就叫他吃饭了。
他十分不舍,并打算对这些坦克进行若干次移动,每次向上、下、左、右任意方向移动一辆坦克一个格子的距离。
他现在想请你解决,最少需要多少次才能使得这 $n$ 个坦克互相无法攻击到?当然,为了不动脑子并快点去吃饭,你还需给出对应的方案之一。
输入格式
输入第一行一个整数 $n$,表示棋盘的边长以及坦克的数量。
接下来的 $n$ 行,每行两个整数 $r,c$,表示母亲叫他吃饭时这辆坦克所处的位置为第 $r$ 行第 $c$ 列。
行和列分别从上到下,从左到右,用 $1\sim n$ 标号。在任意时刻任何两辆坦克都不能处于相同的位置。
输出格式
输出第一行为一个整数 $k$,表示最少的移动次数。
接下来的 $k$ 行,每行先输出一个整数,表示此次将要移动的坦克;再输出一个字符,为`L`(左),`R`(右),`U`(上),`D`(下)之一,表示移动的方向。
**正确的移动序列可能不唯一,输出任意一种即可,本题使用 SPJ。**
说明/提示
#### 数据规模与约定
对于 $100\%$ 的数据,保证 $5\le n\le 500$,$1\le r,c\le n$。
#### 说明
**题目译自 [COCI2006-2007](https://hsin.hr/coci/archive/2006_2007/) [CONTEST #3](https://hsin.hr/coci/archive/2006_2007/contest3_tasks.pdf) *T4 TENKICI***