#P6319. [COCI2006-2007#3] LISTA
[COCI2006-2007#3] LISTA
题目背景
Mirko 收到了一份礼物——一个崭新的双向链表!
题目描述
这个长度为 的链表包含 这 个节点,从左到右排列。
可以对这个链表执行两种操作:
-
A x y
:把 节点放到 节点前。 -
B x y
:把 节点放到 节点后。
例如:
这是一个有 个节点的链表的初始状态。
这是进行操作 A 1 4
后的链表状态。
这是再进行操作 B 3 5
后的链表状态。
Mirko 把这个链表玩了几个小时。每进行一次操作,他都会在纸上记录下来。
当他兴致已尽,打算把链表恢复时,他惊讶地发现自己不知道最快的恢复方法,因为他只知道这些节点的结束位置。
请你运用 A
B
两个操作,找出操作数最少的恢复方案并输出每一次的操作。
输入格式
输入第一行为两个整数 ,表示链表的节点个数和 Mirko 的操作次数。
接下来的 行,每行描述一个 Mirko 在纸上记录下来的操作,格式如题目描述所示。
输出格式
输出第一行为一个整数 ,表示最少的恢复方案。
接下来的 行,每行描述一个恢复时的操作,格式与输入相同。
2 1
A 2 1
1
A 1 2
4 3
B 1 2
A 4 3
B 1 4
2
A 1 2
B 4 3
6 5
A 1 4
B 2 5
B 4 2
B 6 3
A 3 5
3
A 4 5
B 6 5
A 2 3
提示
数据规模与约定
对于 的数据,,。
说明
题目译自 COCI2006-2007 CONTEST #3 T6 BICIKLI
感谢
https://www.luogu.com.cn/user/84282
PJ。