#include <iostream>
using namespace std;
string v[1501];
bool viz[1501][1501];
int st[1501][1501],dr[1501][1501],sus[1501][1501],jos[1501][1501];
int n,m,lat,ina;
bool dfs(int l,int c){
    int stg=0;
	if(viz[l][c]) return 0;
	viz[l][c]=1;if(v[l][c]=='*') return 1;
	///printf("%d %d %d %d\n",l,c,min(st[l-1][c],st[l][c])+min(dr[l-1][c],dr[l][c])),lat;
	if(l>1 && min(st[l-1][c],st[l][c])+min(dr[l-1][c],dr[l][c])>lat && dfs(l-1,c)) stg=1;
	if(l<=n-1 && min(st[l+1][c],st[l][c])+min(dr[l+1][c],dr[l][c])>lat && dfs(l+1,c)) stg=1;
	if(c>1 && min(sus[l][c-1],sus[l][c])+min(jos[l][c-1],jos[l][c])>ina && dfs(l,c-1)) stg=1;
	if(c<=m-1 && min(sus[l][c+1],sus[l][c])+min(jos[l][c+1],jos[l][c])>ina && dfs(l,c+1)) stg=1;
	return stg;
}
int main()
{
    ios_base::sync_with_stdio(false);cin.tie(NULL);
    int l1,c1,l2,c2,i,stg,j;
    cin>>n>>m>>lat>>ina>>l1>>c1>>l2>>c2;
    l1++;c1++;l2++;c2++;
    swap(n,m);swap(l1,c1);swap(l2,c2);
    for(i=1;i<=n;i++){
        cin>>v[i];v[i]=" "+v[i];
        for(j=1;j<=m;j++){
            st[i][j]=dr[i][j]=sus[i][j]=jos[i][j]=-1e9;
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            if(v[i][j]=='X') continue;
            st[i][j]=sus[i][j]=1;
            if(i>1) sus[i][j]+=max(0,sus[i-1][j]);
            if(j>1) st[i][j]+=max(0,st[i][j-1]);
        }
    }
    for(i=n;i;i--){
        for(j=m;j;j--){
            if(v[i][j]=='X') continue;
            dr[i][j]=jos[i][j]=1;
            if(i!=n) jos[i][j]+=max(0,jos[i+1][j]);
            if(j!=m) dr[i][j]+=max(0,dr[i][j+1]);
        }
    }
    ///cout<<min(st[1][4],st[2][4])+min(dr[1][4],dr[2][4])<<"|\n";
    stg=dfs(l1,c2);
    if(stg) cout<<"YES";
    else cout<<"NO";
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |