5 条题解

  • -2
    @ 2022-10-5 14:53:03

    #include #include #include #include #include #include using namespace std; int n,b1,b2,e1,e2; int a[110][110]; int tx[5]={0,0,1,0,-1}; int ty[5]={0,1,0,-1,0};

    void dfs(int x,int y){ a[x][y]=1; int fx,fy; for(int i=1;i<=4;i++){ fx = x+tx[i]; fy = y+ty[i]; if(fx>=1 && fx<=n && fy<=n && fy>=1 && a[fx][fy]0){ if(fxe1&&fy==e2){ cout<<"YES"; exit(0); } else{ dfs(fx,fy); } } } }

    int main(){ cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; } } b1=1;b2=1;e1=n;e2=n; if(a[b1][b2]==1 || a[e1][e2]==1){ cout<<"NO"; } else{ dfs(1,1); cout<<"NO"; } return 0; }

    信息

    ID
    1310
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    116
    已通过
    41
    上传者