LG#B4024. 【GESP强化 四级】保持连接的方式

提交0 通过0
通过率0%
时间限制2000ms
内存限制512MiB
    ID: 10370 传统题 2000ms 512MiB 尝试: 0 已通过: 0 难度: 普及- 上传者: 标签>二维数组GESPGESP强化C++c++编程题洛谷公开题2024数组语言月赛

题目描述

题目描述

风有一只小木箱,内部被划分为了 nnmm 列的小格子,第 ii 行第 jj 列的小格子用 (i,j)(i,j) 表示。风将日记放在小木箱中。每一个小格子可以堆叠的放下至多 kk 份日记。风每次只能从小格子的最顶部取出日记,放入日记时,会放在某一个小格子的最顶端。

如果风希望取出被压在下面的日记,他需要先将上面的日记取出,再逐个放回。例如,某个小格子从底部至顶部,依次有编号为 1,2,3,4,51,2,3,4,5 的五份日记,风希望取出编号为 33 的日记,需要先依次取出编号为 5,45,4 的两份日记,拿走编号为 33 的日记后,再按照 4,54,5 的顺序放回。我们称移走 33 号日记需要移动 22 份日记。

在接下来的 tt 天,风每一天都会写日记,第 ii 天撰写的日记编号为 aia_i,将存放在 (xi,yi)(x_i,y_i) 中。如果 (xi,yi)(x_i,y_i) 已满,风需要从 (xi,yi)(x_i,y_i) 中先取走编号最小的日记并销毁,销毁后,将新的日记存放在 (xi,yi)(x_i,y_i) 顶部。如果存在多份编号最小的日记,销毁最靠上的一份。请问,每一天,风是否需要销毁日记?若需要,需要移动几份日记?

输入格式

第一行为四个正整数 n,m,k,tn,m,k,t

接下来 tt 行,每行三个正整数,第 ii 行为 ai,xi,yia_i,x_i,y_i,表示第 ii 天日记编号为 aia_i,存放在 (xi,yi)(x_i,y_i)

输出格式

输出 tt 行,每行一或两个整数,对于第 ii 行:

  • 若第 ii 天不需要销毁日记,输出一行一个整数 1-1
  • 若第 ii 天需要销毁日记,输出一行两个整数,由空格隔开,分别表示销毁的日记编号和需要移动的日记份数

输入输出样例

输入 #1

2 2 3 5
3 1 1
4 1 1
2 1 1
5 1 1
1 1 1

输出 #1

-1
-1
-1
2 0
3 2

说明/提示

对于 30%30\% 的测试数据,n=m=1n=m=1
对于另外 30%30\% 的测试数据,k=1k=1
对于 100%100\% 的测试数据,1n,m1001 \le n,m \le 1001k501 \le k \le 501t2×1051 \le t \le 2 \times 10^51ai1091 \le a_i \le 10^91xin1 \le x_i \le n1yim1 \le y_i \le m

2 2 3 5
947956589 2 1
134384952 1 1
909730780 2 1
968939107 1 2
911600658 2 1
-1
-1
-1
-1
-1
1 1 1 10
788815286 1 1
357308086 1 1
674946890 1 1
715202285 1 1
479153228 1 1
811322816 1 1
334172953 1 1
45316599 1 1
827455176 1 1
903336898 1 1
-1
788815286 0
357308086 0
674946890 0
715202285 0
479153228 0
811322816 0
334172953 0
45316599 0
827455176 0