#2580. P3193 - 一班 Day3 题目 - JOYSKID

P3193 - 一班 Day3 题目 - JOYSKID

当前没有测试数据。

题目描述

1430: 【基础】迷宫出口

#include <bits/stdc++.h>

using namespace std;

int a[101][101];

int n, sr, sc, tr, tc;

int dir[4][2] = {1,0,-1,0,0,1,0,-1};

bool dfs(int r, int c) {

if (a[r][c])

    return false;

if (r == tr && c == tc) {return true;}

a[r][c] = 1;

for (int i = 0; i < 4; i++) {

    int nr = r + dir[i][0];

    int nc = c + dir[i][1];

    if (1 <= nr && nr <= n && 

        1 <= nc && nc <= n) {

            if (dfs(nr, nc))

                return true;

        }

}

a[r][c] = 0;

return false;

}

int main() {

cin >> n;

for (int i = 1; i <= n; i++)

    for (int j = 1; j <= n; j++)

        cin >> a[i][j];

cin >> sr >> sc >> tr >> tc;

if (dfs(sr, sc))

    cout << "YES";

else

    cout << "NO";     

}