Codeforces Round 144 (Div. 1)
E
Quick Tortoise
Codeforces
3000
原题
← D→
翻译中…

John Doe has a field, which is a rectangular table of size $*n* × *m*$. We assume that the field rows are numbered from 1 to $*n*$ from top to bottom, and the field columns are numbered from 1 to $*m*$ from left to right. Then the cell of the field at the intersection of the $*x*$-th row and the $*y*$-th column has coordinates ($*x*$; $*y*$).

翻译中…

We know that some cells of John's field are painted white, and some are painted black. Also, John has a tortoise, which can move along the white cells of the field. The tortoise can get from a white cell with coordinates ($*x*$; $*y*$) into cell ($*x* + 1$; $*y*$) or ($*x*$; $*y* + 1$), if the corresponding cell is painted white. In other words, the turtle can move only along the white cells of the field to the right or down. The turtle can not go out of the bounds of the field.

翻译中…

In addition, John has $*q*$ queries, each of them is characterized by four numbers $*x*_{1}, *y*_{1}, *x*_{2}, *y*_{2}$ ($*x*_{1} ≤ *x*_{2}$, $*y*_{1} ≤ *y*_{2}$). For each query John wants to know whether the tortoise can start from the point with coordinates ($*x*_{1}$; $*y*_{1}$), and reach the point with coordinates ($*x*_{2}$; $*y*_{2}$), moving only along the white squares of the field.

翻译中…

Input

翻译中…

The first line contains two space-separated integers $*n*$ and $*m*$ ($1 ≤ *n*, *m* ≤ 500$) — the field sizes.

翻译中…

Each of the next $*n*$ lines contains $*m*$ characters "#" and ".": the $*j*$-th character of the $*i*$-th line equals "#", if the cell ($*i*$; $*j*$) is painted black and ".", if it is painted white.

翻译中…

The next line contains integer $*q*$ ($1 ≤ *q* ≤ 6·10^{5})$ — the number of queries. Next $*q*$ lines contain four space-separated integers $*x*_{1}$, $*y*_{1}$, $*x*_{2}$ and $*y*_{2}$ ($1 ≤ *x*_{1} ≤ *x*_{2} ≤ *n*$, $1 ≤ *y*_{1} ≤ *y*_{2} ≤ *m*$) — the coordinates of the starting and the finishing cells. It is guaranteed that cells ($*x*_{1}$; $*y*_{1}$) and ($*x*_{2}$; $*y*_{2}$) are white.

翻译中…

Output

翻译中…

For each of $*q*$ queries print on a single line "Yes", if there is a way from cell ($*x*_{1}$; $*y*_{1}$) to cell ($*x*_{2}$; $*y*_{2}$), that meets the requirements, and "No" otherwise. Print the answers to the queries in the order, in which the queries are given in the input.

翻译中…

样例

Input #1
3 3
...
.##
.#.
5
1 1 3 3
1 1 1 3
1 1 3 1
1 1 1 2
1 1 2 1
Output #1
No
Yes
Yes
Yes
Yes
InputCopy OutputCopy
Input #2
5 5
.....
.###.
.....
.###.
.....
5
1 1 5 5
1 1 1 5
1 1 3 4
2 1 2 5
1 1 2 5
Output #2
Yes
Yes
Yes
No
Yes
InputCopy OutputCopy
题目信息
题号
232E
时间限制
3 s
内存限制
512 MB
标签
位运算
分治
动态规划

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。