悬赏!!!(加V,15)
查看原帖
悬赏!!!(加V,15)
1313827
liuzikai0508楼主2024/12/30 22:37
#include<bits/stdc++.h>
using namespace std;
vector<int> v[100005];
bool vi[100005];
int dfs(int gh){
	cout<<gh<<" ";
	vi[gh]=1;
	for(int i=0;i<v[gh].size();i++){
		if(vi[v[gh][i]]==0){
			vi[v[gh][i]]=1;
			dfs(v[gh][i]);
		}
	}
}
queue<int> a;

int bfs(int hj){
	a.push(hj);
	vi[hj]=1;
	while(!a.empty()){
		int sd=a.front();
		cout<<sd<<" ";
		a.pop();
		for(int i=0;i<v[sd].size();i++){
			if(vi[v[sd][i]]==0){
				a.push(v[sd][i]);
				vi[v[sd][i]]=1;
			}
		}
	}
}
int main(){
	int n,m,a,b;
	cin>>n>>m;
	for(int i=0;i<m;i++){
		cin>>a>>b;
		v[a].push_back(b);
	}
	for(int i=0;i<m;i++){
		sort(v[i].begin(),v[i].end());
	}
	dfs(1);
	memset(vi,0,sizeof(vi));
	cout<<endl;
	bfs(1);
}

全是RE
2024/12/30 22:37
加载中...