记录编号 126186 评测结果 AAAAAAAAAA
题目名称 备用交换机 最终得分 100
用户昵称 Gravatar水中音 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2014-10-11 17:58:31 内存使用 0.35 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
bool pan[101]={0},pan2[101]={0};
int n,i,p,l,zj1,zj2,lu[101][101],tu[101]={0},zhi[101]={0},shu;
void dfs(int x)
{
	pan[x]=false;tu[0]++;tu[tu[0]]=x;
	for(int i=1;i<=lu[x][0];i++)
	if(pan[lu[x][i]])dfs(lu[x][i]);
}
void dfs2(int x)
{
	pan2[x]=false;
	for(int i=1;i<=lu[x][0];i++)
	if(pan2[lu[x][i]]){shu++;dfs2(lu[x][i]);}
}
int main()
{
	freopen("gd.in","r",stdin);
	freopen("gd.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;i++) pan[i]=true;
	while(scanf("%d%d",&zj1,&zj2)!=EOF)
	{
		lu[zj1][0]++;
		lu[zj1][ lu[zj1][0] ]=zj2;
		lu[zj2][0]++;
		lu[zj2][ lu[zj2][0] ]=zj1;
	}
	for(i=1;i<=n;i++)
	{
		if(pan[i])
		{
			tu[0]=0;
			dfs(i);
			zj2=tu[0]-1;
			for(p=1;p<=tu[0];p++)
			{
				shu=1;
				for(l=1;l<=tu[0];l++)pan2[tu[l]]=true;
				pan2[tu[p]]=false;
				dfs2(lu[tu[p]][1]);
				if(shu!=zj2)
				{
					zhi[0]++;
					zhi[zhi[0]]=tu[p];
				}
			}
		}
	}
	sort(zhi+1,zhi+(zhi[0]+1));
	for(l=0;l<=zhi[0];l++) printf("%d\n",zhi[l]);
	return 0;
}