#P6317. [COCI2006-2007#3] TENKICI

[COCI2006-2007#3] TENKICI

题目描述

在一个 n×nn\times n 的棋盘上,有 nn 辆坦克,每辆坦克可以攻击到自己所在的行和列上的所有格子。

刚开始一个孩子正在畅快淋漓地玩着这局自己心目中的“二战”,但是他的母亲突然就叫他吃饭了。

他十分不舍,并打算对这些坦克进行若干次移动,每次向上、下、左、右任意方向移动一辆坦克一个格子的距离。

他现在想请你解决,最少需要多少次才能使得这 nn 个坦克互相无法攻击到?当然,为了不动脑子并快点去吃饭,你还需给出对应的方案之一。

输入格式

输入第一行一个整数 nn,表示棋盘的边长以及坦克的数量。

接下来的 nn 行,每行两个整数 r,cr,c,表示母亲叫他吃饭时这辆坦克所处的位置为第 rr 行第 cc 列。

行和列分别从上到下,从左到右,用 1n1\sim n 标号,保证不存在任何两辆坦克处于相同的位置。

输出格式

输出第一行为一个整数 kk,表示最少的移动次数。

接下来的 kk 行,每行先输出一个整数,表示此次将要移动的坦克;再输出一个字符,为L(左),R(右),U(上),D(下)之一,表示移动的方向。

正确的移动序列可能不唯一,输出任意一种即可,本题使用 SPJ。

5
1 1
1 2
1 3
1 4
1 5 
10
1 D
2 D
3 D
4 D
1 D
2 D
3 D
1 D
2 D
1 D
5
2 3
3 2
3 3
3 4
4 3 
8
1 R
1 R
2 U
2 U
4 D
4 D
5 L
5 L
6
1 1
1 2
2 1
5 6
6 5
6 6
8
2 R
2 D
3 D
3 R
4 U
4 L
5 L
5 U 

提示

数据规模与约定

对于 100%100\% 的数据,保证 5n5005\le n\le 5001r,cn1\le r,c\le n

说明

题目译自 COCI2006-2007 CONTEST #3 T4 TENKICI