全爆空间了
查看原帖
全爆空间了
914335
xiongmy123楼主2023/7/30 17:37
#include <bits/stdc++.h>
using namespace std;
vector<int> d[100001];
int n,m;
bool vis1[100001],vis2[100001];
queue<int> q;
void dfs(int x){
	cout<<x<<" ";
	for(int i=0;i<d[x].size();i++){
		if(!vis1[d[x][i]]){
			dfs(d[x][i]);
			vis1[d[x][i]]=true;
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i=0;i<m;i++){
		int x,y;
		cin>>x>>y;
		d[x].push_back(y);
	}
	for(int i=1;i<=n;i++)sort(d[i].begin(),d[i].end());
    vis1[1]=vis2[1]=true;
	q.push(1);
	dfs(1);
	cout<<endl;
	while(!q.empty()){
		cout<<q.front()<<" ";
		for(int i=0;i<d[q.front()].size();i++){
		   if(!vis2[d[q.front()][i]]){
		      q.push(d[q.front()][i]);
		      vis2[d[q.front()][i]]=true;
		   }
		}
		q.pop();
	}
	return 0;
}
2023/7/30 17:37
加载中...