#include #include using namespace std; void obilazak_lavirinta(vector> &lavirint, int n, int x_a, int z_a) { if(/*x_a < 0 || z_a < 0 ||*/ x_a >= n || z_a >= n || !lavirint[x_a][z_a]) { return; } lavirint[x_a][z_a] = false; obilazak_lavirinta(lavirint, n, x_a+1,z_a); obilazak_lavirinta(lavirint, n, x_a,z_a+1); } int main() { int n; cin >> n; vector> lavirint(n, vector(n)); { int j; int ulaz; for(int i = 0; i < n; i++) { for(j = 0; j < n; j++) { cin >> ulaz; if(ulaz == 0) lavirint[i][j] = false; else if(ulaz == 1) lavirint[i][j] = true; else { cout << -1 << endl; return -1; } } } } int q = 5; vector rez(q); // glupost // if(!lavirint[n-1][n-1]) { // lavirint[n-1][n-1] = true; // } int x_u, z_u; for(int upit = 0; upit < q; upit++) { cin >> x_u >> z_u; /*if(!lavirint[n-1][n-1]) { rez[upit] = false; continue; }*/ vector> kopija = lavirint; obilazak_lavirinta(kopija,n,x_u,z_u); rez[upit] = !kopija[n-1][n-1]; } for(bool upit : rez) { cout << (upit?"DA":"NE") << endl; } return 0; }