请大佬帮忙看一看^_^(显而易见:样例没过)
查看原帖
请大佬帮忙看一看^_^(显而易见:样例没过)
1178818
BlackWuKong楼主2024/8/13 19:39
#include<bits/stdc++.h>
using namespace std;
int n,m,vis[100005];
vector<int> a[100005];
void dfs(int u){
	vis[1]=1;
	cout<<u<<" ";
	for (int i=0;i<a[u].size();i++){
		int v=a[u][i];
		if (vis[i]==0){
			vis[i]=1;
			dfs(v);
			vis[i]=0;
		}
	}
}
void bfs(){
	queue<int> q;
	while (!q.empty()){
		int u=q.front();
		cout<<u<<" ";
	    q.pop();
	    for (int i=0;i<a[u].size();i++){
	    	int v=a[u][i];
	    	if (vis[i]==0){
	    		q.push(v);
	    		vis[i]=1;
			}
		}
	}
}
int main(){
	cin>>n>>m;
	for (int i=1;i<=m;i++){
		int u,v;
		cin>>u>>v;
		a[u].push_back(v);
	}
	for (int i=1;i<=m;i++) sort(a[i].begin(),a[i].end()); 
	dfs(1);
	cout<<"\n";
	memset(vis,0,sizeof(vis));
	bfs();
	return 0;
}

2024/8/13 19:39
加载中...