悬赏关注
查看原帖
悬赏关注
1307912
ddxdd楼主2024/8/20 20:26
#include <bits/stdc++.h>
using namespace std;
int a[100005][100005],n,e,x,y;
bool f[100005];
int q[100005];
int h,t;
void dfs(int x){
	f[x]=true;
	cout<<x<<" ";
	for(int i=1;i<=n;i++){
		if(a[x][i]==1&&!f[i]){
			dfs(i);
		}
	}
}
int main(){
    cin>>n>>e;
    for(int i=1;i<=e;i++){
		cin>>x>>y;
		a[x][y]=1;
	}
	dfs(1);
	cout<<endl;
	memset(f+1,false,n);
	h=1;
	t=1;
	q[1]=1;
	cout<<1<<" ";
	f[1]=true;
	while(h<=t){
		for(int i=1;i<=n;i++){
			if(a[q[h]][i]==1&&!f[i]){
				cout<<i<<" ";
				t++;
				q[t]=i;
				f[i]=true;
			}
		}
		h++;
	}
    return 0;
    
}

数组小点RE,数组大点编译错误

2024/8/20 20:26
加载中...