#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; typedef pair Pint; typedef pair PP; const int INF=1e9; int main() { int n, v, ox, oy; cin>>n>>v>>ox>>oy; int l[201][201]; for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) cin>>l[j][i]; queue que[10]; priority_queue, greater> quefr; que[0].push(Pint(P(1, 1), 0)); quefr.push(PP(P(0, 0), P(1, 1))); int d[201][201]; for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) d[i][j]=INF; d[1][1]=0; int dx[4]={1, -1, 0, 0}, dy[4]={0, 0, 1, -1}; while(!quefr.empty()){ PP p=quefr.top(); quefr.pop(); int i0=p.first.second; que[i0].pop(); if(!que[i0].empty()){ Pint p1=que[i0].front(); quefr.push(PP(P(p1.second, i0), p1.first)); } int x=p.second.first, y=p.second.second; if(p.first.first>d[x][y]) continue; for(int k=0; k<4; k++){ if(0d[n][n]){ cout<<"YES"<d[x][y]) continue; for(int k=0; k<4; k++){ if(0d[n][n]) cout<<"YES"<