为什么我这代码爆零了!
查看原帖
为什么我这代码爆零了!
990749
xhx_0215楼主2023/11/1 22:29
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int n,m;
vector <int> v[100005],v2[100005];
bool flag[100005],flag2[100005];
queue <int> q;
void dfs(int x)
{
	cout<<x<<' ';
	for (int i=0,sz=v[x].size(); i<sz; i++){
		if (!flag[v[x][i]]){
			flag[v[x][i]]=1;
			dfs(v[x][i]);
		}
	}
}

int main()
{
	cin>>n>>m;
	for (int i=1; i<=m; i++){
		int x,y;
		cin>>x>>y;
		v[x].push_back(y);
		v2[x].push_back(y);
	}
	flag[1]=1;
	dfs(1);
	cout<<endl;
	flag2[1]=1;
	q.push(1);
	while (!q.empty()){
		int x=q.front();
		q.pop();
		cout<<x<<' ';
		for (int i=0,sz=v2[x].size(); i<sz; i++){
			if (!flag2[v2[x][i]]){
				flag2[v[x][i]]=1;
				q.push(v[x][i]);
			}
		}
	}
	return 0;
}
2023/11/1 22:29
加载中...