AibohphobiA

아직 제출이 없습니다시간 제한3초메모리 제한1024 MB

문제

You are given a rectangular grid of MM rows and NN columns. The rows and columns are indexed from 00 to M1M - 1 and from 00 to N1N - 1 respectively. In each grid cell (i,j)(i, j), there is a lowercase letter character A\[i,j]A\[i, j]. This grid represents a maze, and the goal to solve the maze is to find a walk going from (0,0)(0, 0) to (M1,N1)(M - 1, N - 1). The walk consists of several steps. In each step you can choose one of the four directions (going from a grid cell to a neighboring cell that shares an edge.) Notice that it is okay to revisit a cell multiple times during the walk, including the starting cell (0,0)(0, 0) and the ending cell (M1,N1)(M - 1, N - 1). If you record all characters along the walk, you’ll get a string that represents this walk.

Truckski is not a fan of palindromes, so he would like to find a walk that does not contain any palindromic substrings of length at least two, which he called a good walk. A string s_1s_2s_ks\_1s\_2 \cdots s\_k is called a palindrome, if it reads the same after reversing the string, i.e., s_1s_2s_k=s_ks_k1s_1s\_1s\_2 \cdots s\_k = s\_ks\_{k-1} \cdots s\_1. A substring of a string can be obtained by removing a (possibly empty) prefix and a (possibly empty) suffix.

Now, there are QQ interesting locations (r_i,c_i)Q_i=1\\{(r\_i , c\_i)\\}^Q\_{i=1} that Truckski wishes to visit. For each location (r_i,c_i)(r\_i , c\_i), can you help Truckski to find the length of the longest good walk that visits the location grid cell (r_i,c_i)(r\_i , c\_i) at least once? If there are arbitrarily long good walks please output 1-1. If there does not exist any good walk, please output 2-2.

입력

The first line contains an integer TT, indicating the number of test cases. For each test case, there are two integers MM and NN in the first line. In each of the following MM lines there is a string of length NN, the cc-th character in the rr-th line is the character A\[r,c]A\[r, c]. The next line contains an integer QQ. In each of the following QQ lines there are two integers r_ir\_i and c_ic\_i indicating the location of interest.

출력

For each interesting location, output the length of the longest good walk that visits this location at least once, or 1-1 if the good walk can be arbitrarily long, or 2-2 if there does not exist such a good walk.

제한

  • T20T ≤ 20
  • 2M1002 ≤ M ≤ 100
  • 2N1002 ≤ N ≤ 100
  • 1Q1001 ≤ Q ≤ 100
  • For all ii such that 1iQ1 ≤ i ≤ Q, 0r_i<M0 ≤ r\_i < M and 0c_i<N0 ≤ c\_i < N.
  • For each grid cell (r,c)(r, c), A\[r, c] ∈ \\{a, b, ... , z\\} is a lowercase letter.

힌트

This problem is not the easiest problem in this contest.