为什么49pats
查看原帖
为什么49pats
483826
joker_zjd楼主2021/10/8 14:41
#include<bits/stdc++.h>
using namespace std;
int n,m,a[600][600],ans_[1000],kll[1000];
int main() {
	cin>>n>>m;
	for(int i=1; i<=m; i++) {
		int x,y;
		cin>>x>>y;
		a[x][y]=1;
		a[y][x]=1;
	}
	for(int i=1; i<=n; i++)ans_[i]=1;
	for(int i=1; i<=n; i++) {
		int ans[100],ansb=-1,klpp=1;
		for(int ii=1; ii<=n; ii++) {
			if(ans_[ii]==1) {
				int op=0;
				for(int iy=1; iy<=n; iy++) {
					if(a[ii][iy]==1&&ans_[iy]==1) {
						op=1;
						break;
					}
				}
				if(op==1) {
					klpp=0;
					break;
				}
			}
		}
		if(klpp==1) {
			break;
		}
		int ko=0;
		for(int j=n; j>=1; j--) {
			if(ans_[j]==0) {
				continue;
			}
			memset(ans,0,sizeof(ans));
			for(int yui=1; yui<=n; yui++) {
				if(ans_[j]!=0&&ans_[yui]!=0&&a[j][yui]==1) {
					ans[j]++;
				}
			}
			if(ansb<ans[j]) {
				ansb=ans[j];
				ko=j;
			}
		}
		ans_[ko]=0;
	}
	int yuu=0;
	for(int i=1; i<=n; i++) {
		if(ans_[i]==1)
			yuu++;
	}
	cout<<yuu<<endl;
	for(int i=1; i<=n; i++) {
		cout<<ans_[i]<<' ';
	}
	return 0;
}
2021/10/8 14:41
加载中...