#B4386. [语言月赛 202508] 迷宫寻路

[语言月赛 202508] 迷宫寻路

题目描述

扶苏来到了一个迷宫,这个迷宫是一个 nnmm 列的数字矩阵,第 ii 行第 jj 列写有一个数字 ai,ja_{i,j}。保证 1ai,j41 \leq a_{i,j} \leq 4

扶苏会在这个迷宫的某一个位置。假设她当前在迷宫的第 ii 行第 jj 列:

  • 如果 ai,j=1a_{i,j} = 1,则她会向上移动一行,即 ii 减小 11
  • 如果 ai,j=2a_{i,j} = 2,则她会向下移动一行,即 ii 增大 11
  • 如果 ai,j=3a_{i,j} = 3,则她会向左移动一列,即 jj 减小 11
  • 如果 ai,j=4a_{i,j} = 4,则她会向右移动一列,即 jj 增大 11

初始时和每次移动到另一个格子后,她都会按上述的规则继续进行新的移动。

当她移动出迷宫,即到达第 00 行、第 00 列、第 n+1n+1 行、第 m+1m+1 列时,称她离开了迷宫。

现在,你要回答 qq 次询问,每次给定一个扶苏的初时位置,你要回答她在多少次移动后会离开迷宫,或报告她永远不会离开迷宫。

输入格式

第一行是三个整数,表示迷宫的行数 nn、列数 mm 和询问数 qq
接下来 nn 行,每行 mm 个整数,表示矩阵 aa
接下来 qq 行,每行两个整数 xi,yix_i,y_i,表示一次查询初时在第 xix_iyiy_i 列时她离开迷宫需要的步数。

输出格式

输出 qq 行,每行一个整数,表示一次查询的答案。如果本次查询她永远无法离开迷宫,输出 1-1

3 4 3
1 2 3 4
4 3 2 1
2 3 4 1
2 3
2 4
1 3

5
2
-1

提示

  • 20%20\% 的数据,n=1n = 1
  • 另有 20%20\% 的数据,m=1m = 1
  • 另有 30%30\% 的数据,查询的答案都不是 1-1
  • 对全部的测试数据,保证 1n,m,q1001 \leq n, m,q \leq 1001ai41 \leq a_i \leq 41xin1 \leq x_i \leq n1yim1 \leq y_i \leq m