今天来写一道“走出迷宫的办法”。
题目还是都有的吧!
问的就是办法有几种。
输入样例:
5 8 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0
输出样例:
2
标程如下#include<bits/stdc++.h>
using namespace std;
int di[4]={-1,1,0,0};
int dj[4]={0,0,-1,1};
int a[105][105],d[105][105],n,m,ans;
void dr(int h,int l)
{
memset(a,-1,sizeof(a));
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
}
}
}
void dg(int dep,int x,int y)
{
a[x][y]=dep;
if(x==n&&y==m) ans++;
for(int k=0;k<=3;k++)
{
int ti=x+di[k];
int tj=y+dj[k];
if(a[ti][tj]==0) dg(dep+1,ti,tj);
}
a[x][y]=0;
}
int main()
{
cin>>n>>m;
dr(n,m);
dg(0,1,1);
cout<<ans;
return 0;
}
: