问题陈述
我们有一个 H 行 W 列的网格。用 (i,j) 表示从上往下数第 i 行、从左往右数第 j 列的方块。
每个方块里包含一个整数。对于每个 i=1,2,…,N,方块 (ri,ci) 包含一个正整数 ai,其他方块包含数字 0。
初始时,有一个棋子位于方块 (R,C) 上。Takahashi 可以将棋子移动到除当前所在方块之外的任何方块,可以进行任意次数的移动。但是,在移动棋子时必须满足以下两个条件。
- 移动的目标方块上写的整数严格大于起始方块上写的整数。
- 移动的起始和目标方块在同一行或同一列上。
对于每个 i=1,2,…,N,打印当 (R,C)=(ri,ci) 时 Takahashi 可以移动棋子的最大次数。
约束条件
- 2≤H,W≤2×105
- 1≤N≤min(2×105,HW)
- 1≤ri≤H
- 1≤ci≤W
- 1≤ai≤109
- i=j⇒(ri,ci)=(rj,cj)
- 输入中的所有值都是整数。
输入
输入以以下格式从标准输入给出:
H W N
r1 c1 a1
r2 c2 a2
⋮
rN cN aN
输出
打印 N 行。对于每个 i=1,2,…,N,第 i 行应包含当 (R,C)=(ri,ci) 时 Takahashi 可以移动棋子的最大次数。
示例输入 1
3 3 7
1 1 4
1 2 7
2 1 3
2 3 5
3 1 2
3 2 5
3 3 5
示例输出 1
1
0
2
0
3
1
0
网格中包含以下整数。
4 7 0
3 0 5
2 5 5
- 当 (R,C)=(r1,c1)=(1,1) 时,你可以将棋子移动一次,移动为 (1,1)→(1,2)。
- 当 (R,C)=(r2,c2)=(1,2) 时,你无法移动棋子。
- 当 (R,C)=(r3,c3)=(2,1) 时,你可以将棋子移动两次,移动为 (2,1)→(1,1)→(1,2)。
- 当 (R,C)=(r4,c4)=(2,3) 时,你无法移动棋子。
- 当 (R,C)=(r5,c5)=(3,1) 时,你可以将棋子移动三次,移动为 $(3, 1) \rightarrow (2, 1) \rightarrow (1, 1) \rightarrow (1, 2)$。
- 当 (R,C)=(r6,c6)=(3,2) 时,你可以将棋子移动一次,移动为 (3,2)→(1,2)。
- 当 (R,C)=(r7,c7)=(3,3) 时,你无法移动棋子。
示例输入 2
5 7 20
2 7 8
2 6 4
4 1 9
1 5 4
2 2 7
5 5 2
1 7 2
4 6 6
1 4 1
2 1 10
5 6 9
5 3 3
3 7 9
3 6 3
4 3 4
3 3 10
4 2 1
3 5 4
1 2 6
4 7 9
示例输出 2
2
4
1
5
3
6
6
2
7
0
0
4
1
5
3
0
5
2
4
0