也是一道简单的搜索题补题的时候感觉贼简单,唉
就是一道很裸很简单的搜索真的也不知道为啥当时没想到
上代码 终止条件那里step最大7最小4
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e7+10;
int maze[55][55];
int vis[maxn];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
int n;
void dfs(int x,int y,int step,int val)
{
vis[val]=1;
if(step==4) return;
for(int i=0;i<4;i++)
{
int nx=x+dx[i];
int ny=y+dy[i];
if(nx<1||nx>n||ny<1||ny>n) continue;
dfs(nx,ny,step+1,val*10+maze[nx][ny]);
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>maze[i][j];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
dfs(i,j,1,maze[i][j]);
}
}
for(int i=0;;i++)
{
if(!vis[i])
{
cout<<i<<'\n';
break;
}
}
return 0;
}