萌新求助图论DFS
  • 板块学术版
  • 楼主SIXIANG32
  • 当前回复22
  • 已保存回复22
  • 发布时间2020/5/17 19:01
  • 上次更新2023/11/7 02:15:46
查看原帖
萌新求助图论DFS
298549
SIXIANG32楼主2020/5/17 19:01

拿这道题做的https://www.luogu.com.cn/problem/P5318
被卡了N长时间求助QAQ总不对啊

#include<bits/stdc++.h>
using namespace std;
vector<int>mp[101000];
bool vis[100100];
int n,m;
void link(int x,int y)
{
	mp[x].push_back(y);
	mp[y].push_back(x);
}
void dfs(int u)
{
	if(!vis[u])
	{
		vis[u]=true;
		cout<<u<<' ';
		for(int p=0;p<=mp[u].size()-1;p++)
			if(!vis[mp[u][p]])
				dfs(mp[u][p]); 
	}
}
bool cmp(int x,int y)
{
	return x<y;
}
int main() 
{
	cin>>n>>m;
	for(int p=1,x,y;p<=m;p++)
	{
		cin>>x>>y;
		link(x,y);
	}
	for(int p=1;p<=n+1;p++)
	sort(mp[p].begin(),mp[p].end(),cmp);
	memset(vis,false,sizeof(vis));
	dfs(1);
}

2020/5/17 19:01
加载中...