比赛 |
20151026 |
评测结果 |
TTTTTTTTTW |
题目名称 |
游历校园 |
最终得分 |
0 |
用户昵称 |
Kt820 |
运行时间 |
9.000 s |
代码语言 |
C++ |
内存使用 |
2.70 MiB |
提交时间 |
2015-10-26 21:57:20 |
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int N,M,t;
int next[200005],last[200005],end[200005],tot;
bool mark[100005];
void add(int x,int y)
{
end[++tot]=y;
next[tot]=last[x];
last[x]=tot;
}
void del(int p)
{
int k=last[p];
if(k)
{
while(mark[end[k]])k=next[k];
// printf("%d\n",end[k]);
mark[end[k]]=1;
t++;
del(end[k]);
}
}
int main()
{
freopen("sent.in","r",stdin);
freopen("sent.out","w",stdout);
int i,j,k,x,y,ans=-1;
scanf("%d%d",&N,&M);
if(!M){printf("0\n");return 0;}
for(i=1;i<=M;i++)
{
scanf("%d%d",&x,&y);
add(x,y);
add(y,x);
}
while(t<M)
{
for(i=1;i<=N;i++)if(!mark[i]){k=i;break;}
// printf("-%d-\n",k);
del(k);
ans++;
}
printf("%d\n",ans);
return 0;
}