dfs 90求助
查看原帖
dfs 90求助
1374261
gaohongyuan楼主2025/1/5 18:07
#include<bits/stdc++.h>
using namespace std;
int n, m;
int a[10005][10005];
bool b[10005][10005];
int h,l;

void dfs(int h,int l,int cnt)
{
    if(h<1||h>n||l<1||l>m||a[h][l]<=cnt&&a[h][l]!=-1)
    return;
    b[h][l]=1;
    a[h][l]=cnt;
    dfs(h+2,l+1,cnt+1);
    dfs(h-2,l+1,cnt+1);
    dfs(h+2,l-1,cnt+1);
    dfs(h-2,l-1,cnt+1);
    dfs(h+1,l+2,cnt+1);
    dfs(h-1,l+2,cnt+1);
    dfs(h+1,l-2,cnt+1);
    dfs(h-1,l-2,cnt+1);
}

int main()
{
	cin>>n>>m>>h>>l;
    for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)
    a[i][j]=-1;
    dfs(h,l,0);
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        cout<<setw(4)<<a[i][j];
        cout<<endl;
    }
	return 0;
}

#8 T飞 求优化; 我还想挑衅大佬说DFS怎么了

2025/1/5 18:07
加载中...