社区讨论

求调

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@ltxq7k98
此快照首次捕获于
2024/03/19 09:59
2 年前
此快照最后确认于
2024/03/19 15:56
2 年前
查看原帖
rt,样例能过但是0pts
CPP
#include<bits/stdc++.h>
using namespace std;
vector<int> g[100005];
long long n,m;
bool vis[100005];
void dfs(int x){
	vis[x]=1;
	cout<<x<<" ";
	for(int i=0;i<g[x].size();i++){
		if(!vis[g[x][i]]){
			dfs(g[x][i]);
		}
	}
}
queue<int> q;
void bfs(int x){
	q.push(x);
	cout<<x<<" ";
	vis[x]=1;
	while(!q.empty()){
		int tmp=q.front();
		for(int i=0;i<g[tmp].size();i++){
			if(!vis[g[tmp][i]]){
				q.push(g[tmp][i]);
				cout<<g[tmp][i]<<" ";
				vis[g[tmp][i]]=1;
			}
		}
		q.pop();
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v;
		cin>>u>>v;
		g[u].push_back(v);
	}
	for (int i = 1; i <= n; i++)
	{
		sort(g[i].begin(), g[i].end(), greater<int>());
	}
	dfs(1);
	cout<<endl;
	memset(vis,0,sizeof(vis));
	for (int i = 1; i <= n; i++)
	bfs(1);
}

回复

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

正在加载回复...