记录编号 299578 评测结果 AAAAAWWWWA
题目名称 备用交换机 最终得分 60
用户昵称 Gravataropen the window 是否通过 未通过
代码语言 C++ 运行时间 0.016 s
提交时间 2016-08-26 15:20:37 内存使用 0.43 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int x,y,n,total;
int a[101][101],h[20001],b[101];
bool v[101];
void bfs(int o)
{
	memset(v,false,sizeof(v));
	int t=0,w=1,p;
	v[o]=true;
	if (o!=1) 
	{
	   h[1]=1;
	   v[1]=true;
    }
	else 
	{
	   h[1]=2;
	   v[2]=true;
    }
	while (t<w)
	{
		t++;
		p=h[t];
		for (int i=1; i<=a[p][0]; ++i)
		if (!v[a[p][i]])
		{
			v[a[p][i]]=true;
			w++;
			h[w]=a[p][i];
		}
	}
}
int main()
{
	freopen("gd.in","r",stdin);
	freopen("gd.out","w",stdout);
	scanf("%d",&n);
	while (scanf("%d%d",&x,&y)!=EOF)
	{
		;
		a[x][++a[x][0]]=y;
		a[y][++a[y][0]]=x;
	}
	for (int i=1; i<=n; ++i)
	{
		bfs(i);
		for (int j=1; j<=n; ++j)
		if (!v[j])
		{
			b[++total]=i;
			break;
		}
	}
	printf("%d\n",total);
	for (int i=1; i<=total; ++i) printf("%d\n",b[i]);
}