提交时间:2025-11-19 20:57:17

运行 ID: 38957

#include<bits/stdc++.h> using namespace std; const int N=3e5+10; int T,n,m; vector<int>e[N]; queue<int>q[4]; void shuchu(int x,int y) { for(int i=1;i<=n;i++) { if(i==x) { cout<<1<<" "; } else if(i==y) { cout<<2<<" "; } else { cout<<3<<" "; } } } int main() { //freopen("nolife.in","r",stdin); //freopen("nolife.out","w",stdout); //cin>>T; //cin>>n>>m; scanf("%d%d",&n,&m); for(int i=1;i<=m;++i) { int x,y; //cin>>x>>y; scanf("%d%d",&x,&y); e[x].push_back(y); e[y].push_back(x); } int flag=0; while(!flag) { int x=rand()%n+1,y=rand()%n+1; if(x==y)continue; set<int>st; for(int i=0;i<e[x].size();++i) { int to=e[x][i]; st.insert(to); } for(int i=0;i<e[y].size();++i) { int to=e[y][i]; st.insert(to); } if(st.size()==e[x].size()+e[y].size()) { shuchu(x,y); return 0; } else if(st.size()==e[x].size()+e[y].size()-1) { int to=1; for(int i=0;i<e[x].size();i++) { if(e[x][i]==y) { to=0; break; } } if(to) { shuchu(x,y); return 0; } } } return 0; }