1 条题解

  • -1
    @ 2024-3-10 10:00:26

    一道很经典的广度优先搜索题,就是普通模板

    #include<bits/stdc++.h>
    using namespace std;
    int n,m;
    int a[110][110];
    int fx[5]={0,0,1,0,-1};
    int fy[5]={0,1,0,-1,0};
    int q[10010][3];
    int h=1,t=1;
    int main()
    {
    	cin>>n>>m;
    	q[1][1]=1;
    	q[1][2]=1;
    	a[1][1]=1;
    	int tx,ty;
    	while(h<=t){
    		for(int i=1;i<=4;i++){
    			tx=fx[i]+q[h][1];
    			ty=fy[i]+q[h][2];
    			if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&a[tx][ty]==0){
    				t++;
    				q[t][1]=tx;
    				q[t][2]=ty;
    				a[tx][ty]=t;
    			}
    		}
    		h++;
    	}
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			cout<<a[i][j]<<" ";
    		}
    		cout<<endl;
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    747
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    18
    已通过
    17
    上传者