洛谷P5318 【深基18.例3】查找文献

https://www.luogu.com.cn/problem/P5318

复制代码
#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int> e[100005];
bool vis[100005];
void dfs(int u){
	cout<<u<<" ";
	for(int i=0;i<e[u].size();i++){
		int v=e[u][i];
		if(!vis[v]){
			vis[v]=1;
			dfs(v);
		}
		
	}
} 
void bfs(){
	memset(vis,0,sizeof(vis));
	queue<int>q;
	q.push(1);
	vis[1]=1;
	while(!q.empty()){
		int u=q.front();
		q.pop();
		cout<<u<<" ";
		for(int i=0;i<e[u].size();i++){
			int v=e[u][i];
			if(!vis[v]){
				vis[v]=1;
				q.push(v);
			}
		}
	}
} 
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v;
		cin>>u>>v;
		e[u].push_back(v);
	}
	for(int i=1;i<=n;i++){
		sort(e[i].begin(),e[i].end());
	} 
	vis[1]=1;
	dfs(1);
	cout<<endl;
	bfs();
	return 0;
}
相关推荐
程序喵大人3 小时前
【C++进阶】STL容器与迭代器 - 01 STL 容器先解决元素放在哪里
开发语言·c++·stl
野生风长7 小时前
C++入门基础:从命名空间到引用与指针的全面解析
开发语言·c++
来一碗刘肉面8 小时前
栈的应用(表达式求值)
数据结构·算法
xiaowang1234shs8 小时前
怪兽轻断食技术深度测评:从断食计时引擎到AI识别算法的工程实践解析
数据库·人工智能·算法·macos·机器学习·p2p·visual studio
小果因子实验室9 小时前
量化研究--策略迁移算法1研究
算法
Escalating_xu9 小时前
C++可变参数模板与引用折叠精讲
开发语言·c++
Web极客码9 小时前
如何用三段式确定性剪枝,为 LLM Agent 砍掉 35% 的 Token 成本?
服务器·人工智能·算法·机器学习
程序猿乐锅9 小时前
【数据结构与算法 | 第六篇】力扣1109,1094差分数组
java·算法·leetcode
云泽8089 小时前
Visual Studio 2026 新手保姆级教程:环境搭建、界面优化与编译器配置详解
开发语言·c++·c·开发工具·visual studio