求助!
查看原帖
求助!
684245
zhangyaiwei楼主2022/6/1 12:19
#include <bits/stdc++.h>
using namespace std;  
struct l{
	int x;
	int cnt=0;
}a[111];
bool cmp(l a,l b){
	if(a.cnt==b.cnt){
		return a.x<b.x;
	}
	return a.cnt<b.cnt;
}
int main(){ 
	int n,m,u,v,c[111]={},cnt=0;
	vector<int> b[111];
	cin>>n>>m;
	for(int i=0;i<m;i++){
		cin>>u>>v;
		b[u].push_back(v);
		b[v].push_back(u); 
		a[u].cnt++;
		a[v].cnt++;
	}
	for(int i=1;i<=n;i++){
		a[i].x=i;
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++){
		int k=a[i].x;
		if(c[k]==0){
			for(int j=0;j<b[k].size();j++){
				if(c[b[k][j]]==0){
					cnt++;
				}
				c[b[k][j]]=1;
			}	
		}
	}
	cout<<n-cnt<<endl;
	for(int i=1;i<=n;i++){
		cout<<abs(c[i]-1)<<" ";
	}
}
2022/6/1 12:19
加载中...