GRID6


Submit solution

Points: 20
Time limit: 1.0s
Memory limit: 512M

Problem type

Cho một bảng có kích thước \(n×m\), mỗi ô trên bảng chứa ký tự \(o\) (ô tự do) hoặc ký tự \(*\) (ô cấm).

Cho hai số nguyên \(x, y\) với ô \((x,y)\) là ô xuất phát.

Có \(q\) truy vấn, mỗi truy vấn gồm 2 số nguyên \((u,v)\) bạn cần di chuyển từ ô xuất phát đến ô \((u,v)\) qua ít nhất bao nhiêu bước. Mỗi bước di chuyển từ ô \((i,j)\) có thể di chuyển sang 4 ô \((i-1,j)\), \((i+1,j)\), \((i,j-1)\), \((i,j+1)\). Không được đi ra ngoài bảng và không đi vào ô cấm.

Input

  • Dòng đầu gồm 3 số nguyên dương \(m,n,q (m,n≤10^3,1≤q≤10^5) \).

  • \(n\) dòng tiếp theo, dòng thứ i chứa một xâu độ dài \(m\) gồm hai loại ký tự \(o\) hoặc \(*\) mô tả dòng thứ \(i\) của ma trận.

  • Dòng tiếp theo chứa hai số nguyên \(x,y (1≤x,≤n;1≤y≤m).\)

  • \(q\) dòng tiếp theo mỗi dòng chứa hai số nguyên \(u,v (1≤u≤n;1≤v≤m)\) mô tả một truy vấn.

Output

  • Gồm \(q\) dòng, mỗi dòng chứa một số nguyên là số bước tối thiểu để đi từ ô \((x,y)\) tới ô \((u,v)\), nếu không có đường đi ghi \(-1\).

Sample Input

3 3 2 
o*o
ooo 
*oo
2 2 
1 1

Sample Output

2
-1

Comments

There are no comments at the moment.