#B4024. [语言月赛 202408] 保持连接的方式
[语言月赛 202408] 保持连接的方式
题目背景
时光荏苒,小 S 和小 Y 也会散去。
而我们和一个人保持连接的方式就是记住,仅此而已。
—— [NOI 2024] 集合风将这句话写在纸上,折成了纸飞机,扔出窗外。
纸飞机飞吧,飞向天空。以此铭记。
题目描述
风有一只小木箱,内部被划分为了 行 列的小格子,第 行第 列的小格子用 表示。风将日记放在小木箱中。每一个小格子可以堆叠的放下至多 份日记。风每次只能从小格子的最顶部取出日记,放入日记时,会放在某一个小格子的最顶端。
如果风希望取出被压在下面的日记,他需要先将上面的日记取出,再逐个放回。例如,某个小格子从底部至顶部,依次有编号为 的五份日记,风希望取出编号为 的日记,需要先依次取出编号为 的两份日记,拿走编号为 的日记后,再按照 的顺序放回。我们称移走 号日记需要移动 份日记。
在接下来的 天,风每一天都会写日记,第 天撰写的日记编号为 ,将存放在 中。如果 已满,风需要从 中先取走编号最小的日记并销毁,销毁后,将新的日记存放在 顶部。如果存在多份编号最小的日记,销毁最靠上的一份。请问,每一天,风是否需要销毁日记?若需要,需要移动几份日记?
输入格式
第一行为四个正整数 。
接下来 行,每行三个正整数,第 行为 ,表示第 天日记编号为 ,存放在 。
输出格式
输出 行,每行一或两个整数,对于第 行:
- 若第 天不需要销毁日记,输出一行一个整数
- 若第 天需要销毁日记,输出一行两个整数,由空格隔开,分别表示销毁的日记编号和需要移动的日记份数
2 2 3 5
3 1 1
4 1 1
2 1 1
5 1 1
1 1 1
-1
-1
-1
2 0
3 2
提示
对于 的测试数据,;
对于另外 的测试数据,;
对于 的测试数据,,,,,,。