求改进
查看原帖
求改进
1270462
linwanbo楼主2024/12/21 17:07
#include<bits/stdc++.h>
using namespace std;
const int A=1e5+10;
int n,m,cnt,head[A],nex[A],to[A];
void add(int x,int y){//存储头和尾 
	nex[++cnt]=head[x];
	head[x]=cnt;
	to[cnt]=y;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int x,y;
		cin>>x>>y;
		add(x,y);//连通头尾 
		add(y,x);
	}
	for(int i=1;i<=n;i++){
		int ans=-1;
		for(int j=head[1];j!=0;j=nex[j]){
			int u=to[j];
			ans=max(ans,u);//找最大值
		}
		cout<<ans<<" ";
	}
	return 0;
}
2024/12/21 17:07
加载中...