CF35B Warehouse
题目描述
**注意:需要文件输入输出,输入文件为 input.txt,输出文件为 output.txt**
仓库里有一个高为 $n$,宽为 $m$ 的架子,即 $n \times m$ 的一个架子。DravDe 会进行 $k$ 次操作,每次操作他会往这个架子上的一个位置放进或拿出一个箱子。
如果 DravDe 要放一个箱子,他会先看这个位置上是不是已经有箱子了,如果有则放入右边的位置;如果右边也有箱子,则以此类推。如果到了此行的第 $m$ 列还有箱子,他会放入下一行的第一列,并重复上述操作。如果到最后都找不到,他会把箱子丢掉,不放到架子上。
如果 DravDe 要拿出一个箱子,你需要输出这个箱子所在的坐标 $(i,j)$,表示这个箱子被放在了第 $i$ 行第 $j$ 列,并拿走它。**这个箱子可能不存在**。
输入格式
第一行三个整数 $n,m,k$,意义如题面描述。
接下来 $k$ 行,每行表示一个操作,操作有 $2$ 种形式:
**+1 x y d**:在第 $x$ 行第 $y$ 列放入一个名为 $id$ 的箱子,放置规则如题意;
**-1 id**:拿走名为 $id$ 的箱子,此操作需要你输出这个箱子所在位置坐标,如果没有则输出 **-1 -1**。
输出格式
对于每一个操作 $2$,输出这个箱子位置的横坐标和纵坐标,横坐标和纵坐标之间用一个空格隔开。
$1 \leq n,m \leq 30,1 \leq k \leq 2000,1 \leq x \leq n,1 \leq y \leq m$,$id$ 为长度不超过 $10$ 的小写拉丁文字母串。