求助第三个点WA
查看原帖
求助第三个点WA
1188454
KongY11楼主2024/4/4 21:23

已经是一边搜一遍输出 没有最后一起输出了,但第三个点还是WA了

#include<bits/stdc++.h>
using namespace std;

int n,m,vis[100005];
vector<int> t[100005];
queue<int> q;

void dfs(int u) 
{
	cout<<u<<" ";
	for (int i=0;i<t[u].size();i++)
	{
		int v=t[u][i];
		if (!vis[v])
		{
			vis[v]=1;
			dfs(v);
		}
	}
}

void bfs(int x)
{
	vis[x]=1;
	q.push(x);
	while (!q.empty())
	{
		int v=q.front();
		cout<<v<<" ";
		q.pop();
		for (int i=0;i<t[v].size();i++)
			if (!vis[t[v][i]])
			{
				vis[t[v][i]]=1;
				q.push(t[v][i]);
			}
	}
	
}

int main() 
{
	cin>>n>>m;
	for (int i=1;i<=m;i++)
	{
		int a,b;
		cin>>a>>b;
		t[a].push_back(b);
	}
	for (int i=1;i<=n;i++)
		sort(t[i].begin(),t[i].end());
	for (int i=1;i<=n;i++)
	{
		if (!vis[i])
		{
			vis[i]=1;
			dfs(i);
		}
	}
	cout<<endl;
	memset(vis,0,sizeof(vis));
	bfs(1);
	return 0;
}
2024/4/4 21:23
加载中...