#CF1840F. 轨道炮

轨道炮

轨道炮

  • 时间限制:3 秒
  • 内存限制:256 MiB

题目描述

角色从 (0,0)(0,0) 出发,要到达 (n,m)(n,m)。每一秒结束时,他可以从 (i,j)(i,j) 移动到 (i+1,j)(i+1,j)、移动到 (i,j+1)(i,j+1),或原地等待。

共有 rr 次射击。一次射击由 t,d,coordt,d,coord 描述:在第 tt 秒结束时,若 d=1d=1,横坐标为 coord 的整行被贯穿;若 d=2d=2,纵坐标为 coord 的整列被贯穿。角色当时位于该行或该列就会死亡。

求安全到达终点的最短时间;若无法到达,输出 −1-1。

输入格式

第一行是测试组数 TT。每组先输入 n,mn,m,再输入射击数 rr,随后 rr 行每行三个整数 t,d,coordt,d,coord。

输出格式

每组输出一个整数,表示最短时间或 −1-1。

样例输入 1

5
1 3
4
1 2 0
2 2 1
3 2 2
4 1 1
3 3
6
2 1 0
2 1 1
2 1 2
2 2 0
2 2 1
2 2 2
2 1
3
7 1 2
2 1 1
7 2 1
2 2
5
9 1 2
3 2 0
5 1 2
4 2 2
7 1 0
4 6
7
6 1 2
12 1 3
4 1 0
17 2 3
1 2 6
16 2 6
3 2 4

样例输出 1

5
-1
3
6
10

数据范围

对于所有数据:1≤T≤1041\le T\le10^4,1≤n⋅m≤1041\le n\cdot m\le10^4,1≤r≤1001\le r\le100,1≤t≤1091\le t\le10^9;所有测试组的 n⋅mn\cdot m 之和不超过 10410^4。

子任务编号 分值 特殊限制
1 20 每次射击均满足 t>n+mt>n+m
2 40 每组 n⋅m≤100n\cdot m\le100 且 t≤200t\le200
3 无特殊限制