记录编号 |
299578 |
评测结果 |
AAAAAWWWWA |
题目名称 |
备用交换机 |
最终得分 |
60 |
用户昵称 |
open 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]);
}