社区讨论

0分求条!!壶关!!

P5318【深基18.例3】查找文献参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mil59vh1
此快照首次捕获于
2025/11/30 11:12
3 个月前
此快照最后确认于
2025/12/02 16:40
3 个月前
查看原帖
满江红。
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int>g[100005];
bool vis[100005];
void dfs(int x){
	cout<<x<<' ';
	vis[x]=1;
	for(auto i:g[x])
		if(!vis[i])
			dfs(i);
}
int q[100005],tail,head;
void bfs(int st){
	q[++tail]=st;
	vis[st]=1;
	while(head<tail){
		int i=q[++head];
		cout<<i<<' ';
		for(auto j:g[i]){
			if(!vis[j]){
				q[++tail]=j;
				vis[j]=1;
			}
		} 
	} 
}
int main(){
	cin>>n>>m;
	for(int i=1,u,v;i<=m;i++){
		cin>>u>>v;
		g[u].push_back(v);
	}
	dfs(1);
	cout<<endl;
	for(int i=1;i<=n;i++) sort(g[i].begin(),g[i].end()); 
	memset(vis,0,sizeof(vis));
	bfs(1);
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...