2167: 彩色管

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:Special Judge 上传者:
提交:3 通过:1

题目描述

给定 n+1 根管子,每根管子的容量是 3 个球,总共装 3n 个彩色球
在所有球中分为 n 种颜色,每种颜色存在 3 个球。
通过一系列移动达到终止状态:每根管子要么只包含一种颜色,要么为空。
每次移动方式为:从第 x 根管子的顶部取出一个球放在第 y 根管子的顶部(要求此时第 y 根管子还未满)。
请给出一种移动策略,要保证移动次数不超过 20n,并且最终为终止状态。

输入格式

第一行为正整数 n,1≤n≤1000
接下来有 n+1 行,每行三个整数表示球的颜色(3n个球,3个空区域)。
每行数字按照从管子底部到顶部的顺序输入。
数字为 0 表示此处为空区域,输入保证合法,并且空区域只存在于球的上方。

输出格式

第一行输出正整数m,表示需要进行 m 次操作。
接下来m行,每行输入两个正整数 x,y,表示本次操作从第 x 根管子顶部取球,放入第y根管子。 
要保证移动次数不超过 20n。

输入样例 复制

样例1:
3
2 2 0
1 3 1
3 1 2
3 0 0

样例2:
1
0 0 0
1 1 1

输出样例 复制

样例1:
6
3 1
2 3
2 4
3 2
3 2
3 4

样例2:
0

数据范围与提示

来源:2023 PACNW