迷宫问题

来源:互联网 发布:手机淘宝充值中心 编辑:程序博客网 时间:2024/06/14 06:50
/*    Name: 迷宫问题     Copyright:     Author: Yjy     Date: 09/12/17 08:43    Description: */#include<bits/stdc++.h>using namespace std;#define N 20int a[N][N];int n;int way=0;void f(int,int);int main(){    cin>>n;    for(int i=0;i<=n+1;i++)    for(int j=0;j<=n+1;j++)        a[i][j]=1;    for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++)        cin>>a[i][j];    f(1,1);    cout<<way;    return 0;}void f(int i,int j){    a[i][j]=1;    if(a[1][n]==1){        way++;        a[i][j]=0;        return;    }     if(a[i+1][j]==0) {        f(i+1,j);    }    if(a[i+1][j-1]==0){        f(i+1,j-1);    }    if(a[i][j-1]==0){        f(i,j-1);    }    if(a[i-1][j-1]==0){        f(i-1,j-1);    }    if(a[i-1][j]==0){        f(i-1,j);    }    if(a[i-1][j+1]==0){        f(i-1,j+1);    }    if(a[i][j+1]==0){        f(i,j+1);    }    if(a[i+1][j+1]==0){        f(i+1,j+1);    }    a[i][j]=0;}
原创粉丝点击