哪错了,玄关
查看原帖
哪错了,玄关
793805
aizhoukai楼主2023/12/4 16:59

#include<bits/stdc++.h>

using namespace std;
int n,m,wen[100005][500];
int df[114514],dfsize,a[114514];
int bf[114514],bfsize=1,b[114514],h=1,d;
void dfs(int wei)
{
	for(int i=1;i<=wen[wei][0];i++)
	{
		if(!a[wen[wei][i]]){
			a[wen[wei][i]]=1;
			dfsize++;
		df[dfsize]=wen[wei][i];
		dfs(wen[wei][i]);
		}
	}
}
void bfs(int wei)
{
	for(int i=1;i<=wen[wei][0];i++)
	{
		if(!b[wen[wei][i]]){
			b[wen[wei][i]]=1;
			bfsize++;
		bf[bfsize]=wen[wei][i];
		}
	}
	for(int i=1;i<=wen[wei][0];i++)
	{
		dfs(wen[wei][i]);
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		int x,y;
		cin>>x>>y;
		wen[x][0]++;wen[x][wen[x][0]]=y;
		for(int k=1;k<=wen[x][0];k++)
		for(int j=1;j<=wen[x][0]-1;j++)
		if(wen[x][j]>wen[x][j+1]) swap(wen[x][j],wen[x][j+1]);
		
	}
	dfs(1);
	bf[1]=1;
	for(int d=1;d<=h;d++)
	{
		int wei=bf[d];
	for(int i=1;i<=wen[wei][0];i++)
	{
		if(!b[wen[wei][i]]){
			b[wen[wei][i]]=1;
			bfsize++;
		bf[bfsize]=wen[wei][i];
		h++;
		}
	}
	}
	cout<<'1'<<" ";
	for(int i=1;i<=dfsize;i++)
	cout<<df[i]<<" ";
	cout<<endl;
	for(int i=1;i<=bfsize;i++)
	cout<<bf[i]<<" ";
	return 0;
}

错误

2023/12/4 16:59
加载中...