Codeforces Round 878 (Div. 3) |
---|
Закончено |
Тёма играет в одну очень интересную компьютерную игру.
Во время прохождения очередной миссии, персонаж Тёмы оказался на незнакомой планете. В отличие от Земли эта планета плоская и представима в виде прямоугольника $$$n \times m$$$.
Персонаж Тёмы находится в точке с координатами $$$(0, 0)$$$, чтобы успешно завершить миссию ему необходимо живым добраться до точки с координатами $$$(n, m)$$$.
Пусть персонаж компьютерной игры находится в координате $$$(i, j)$$$. Каждую секунду, начиная с первой, Тёма может:
Пришельцы, что обитают на этой планете очень опасны и настроены враждебно. Поэтому они будут стрелять из своих рельсотронов $$$r$$$ раз.
Каждый выстрел полностью простреливает одну координату по вертикали или горизонтали. Если в момент выстрела (в конце секунды) персонаж находится в зоне его поражения, то он умирает.
Так как Тёма посмотрел исходный код игры, он знает полную информацию о каждом выстреле — время, простреливаемую координату, а также направление выстрела.
За какое минимальное время персонаж может добраться до нужной точки? Если он обречён на смерть и не сможет добраться до точки с координатами $$$(n, m)$$$, выведите $$$-1$$$.
В первой строке входных данных содержится одно целое число $$$T$$$ ($$$1 \le T \le 10^4$$$) — количество наборов входных данных в тесте.
Далее следуют описания наборов.
В первой строке набора содержатся два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \cdot m \le 10^4$$$) — размеры планеты, её высота и ширина.
Во второй набора данных содержится единственное целое число $$$r$$$ ($$$1 \le r \le 100$$$) — количество выстрелов.
Далее следует $$$r$$$ строк, каждая из которых описывает один выстрел.
Выстрел описывается тремя целыми числами $$$t$$$, $$$d$$$, $$$coord$$$. Где $$$t$$$ — секунда, в которую будет произведён данный выстрел ($$$1 \le t \le 10^9$$$). $$$d$$$ — обозначение направления выстрела ($$$d = 1$$$ обозначает выстрел вдоль горизонтали, $$$d = 2$$$ обозначает выстрел вдоль вертикали). $$$coord$$$ — величина простреливаемой координаты ($$$0 \le coord \le n$$$ при $$$d = 1$$$, $$$0 \le coord \le m$$$ при $$$d = 2$$$).
Cумма произведений $$$n \cdot m$$$ по всем наборам входных данных не превосходит $$$10^4$$$.
Для каждого набора входных данных выведите единственное число — минимальное время, за которое персонаж сможет добраться до координаты $$$(n, m)$$$, либо же $$$-1$$$, если ему суждено погибнуть.
51 341 2 02 2 13 2 24 1 13 362 1 02 1 12 1 22 2 02 2 12 2 22 137 1 22 1 17 2 12 259 1 23 2 05 1 24 2 27 1 04 676 1 212 1 34 1 017 2 31 2 616 2 63 2 4
5 -1 3 6 10
В первом наборе входных данных персонаж может перемещаться следующим образом: $$$(0, 0) \rightarrow (0, 1) \rightarrow (0, 2) \rightarrow (0, 3) \rightarrow (0, 3) \rightarrow (1, 3)$$$.
Во втором примере входных данных персонаж не сможет выйти за пределы прямоугольника, который будет полностью простреливаться выстрелами на $$$2$$$ секунде.
Название |
---|