Покрокові тактичні ігри, такі як Advance Wars, Wargroove та Fire Emblem, складаються з квадратної сітки з різним рельєфом місцевості з одиницями різних класів руху, що вимагають різних витрат для кожного типу місцевості. Ми будемо досліджувати підгрупу цієї проблеми.
Виклик
Ваше завдання - визначити, чи можна дістатися до одного місця з іншого, враховуючи сітку місцевих витрат та швидкість руху.
Одиниці можуть переміщатися ортогонально лише тоді, коли вартість переміщення на квадрат є значенням відповідної комірки в сітці (відхід вільний). Наприклад, перехід від клітинки, що оцінюється 3, до комірки, що оцінюється 1, коштує 1 рух, а йти іншим шляхом потрібно 3. Деякі квадрати можуть бути недоступними.
Приклад
1 [1] 1 1 1
1 2 2 3 1
2 3 3 3 4
1 3 <1> 3 4
Для переходу [1]
до <1>
пункту потрібно як мінімум 7 точок руху, рухаючи вправо один квадрат, а потім три вниз. Таким чином, якщо швидкість руху задана 6 або меншою, то слід вивести помилкову відповідь.
Приклади тестових випадків
Вони використовуватимуть координати з нульовим кодом (рядок, стовпець) зліва-початковим координатом, а не осередкові скобки для початку та кінця, щоб полегшити аналіз. Доступні клітини будуть представлені за допомогоюX
Випадок 1а
1 1 2 1 X
1 2 2 1 1
2 1 1 2 1
X X X 1 2
Speed: 5
From (2, 3) to (0, 1)
Output: True
Випадок 1б
1 1 2 1 X
1 2 2 1 1
2 1 1 2 1
X X X 1 2
Speed: 4
From (2, 3) to (0, 1)
Output: False
Справа 1с
1 1 2 1 X
1 2 2 1 1
2 1 1 2 1
X X X 1 2
Speed: 5
From (0, 1) to (2, 3)
Output: False
Випадок 2а
3 6 1 1 X 4 1 2 1 X
5 1 2 2 1 1 1 X 1 5
2 1 1 1 2 1 1 1 X 1
2 1 1 3 1 2 3 4 1 2
1 1 2 1 1 4 1 1 1 2
3 2 3 5 6 1 1 X 1 4
Speed: 7
From (3, 4) to (2, 1)
Output: True
Випадок 2б
3 6 1 1 X 4 1 2 1 X
5 1 2 2 1 1 1 X 1 5
2 1 1 1 2 1 1 1 X 1
2 1 1 3 1 2 3 4 1 2
1 1 2 1 1 4 1 1 1 2
3 2 3 5 6 1 1 X 1 4
Speed: 4
From (3, 4) to (2, 1)
Output: False
Справа 2в
3 6 1 1 X 4 1 2 1 X
5 1 2 2 1 1 1 X 1 5
2 1 1 1 2 1 1 1 X 1
2 1 1 3 1 2 3 4 1 2
1 1 2 1 1 4 1 1 1 2
3 2 3 5 6 1 1 X 1 4
Speed: 7
From (1, 8) to (2, 7)
Output: True
Випадок 3а
2 1 1 2
2 3 3 1
Speed: 3
From (0, 0) to (1, 1)
Output: False
Справа 3б
2 1 1 2
2 3 3 1
Speed: 3
From (1, 1) to (0, 0)
Output: True
Правила, припущення та примітки
- Стандартні лазівки заборонені, введення / виведення може бути в будь-якому зручному форматі
- Ви можете припустити, що всі координати є в сітці
- Швидкість руху ніколи не буде більше 100
- Недоступні комірки можуть бути представлені дуже великою кількістю (наприклад, 420, 9001, 1 мільйон) або 0 або нульовим, що вам зручніше.
- Усі вхідні дані будуть складатися з натуральних чисел (за винятком випадків, коли для представлення недосяжних комірок використовується null або 0)