真是对这题无语了,我还以为是是加最少边变成强连通图的题!做了半天发现不对!
还是我理解有问题!只要计算中图中节点的度数,度数<2的不可靠,需要添加的最少边使度数<2的个数加一的一半、
#include<stdio.h>
#include<string.h>
int in[10005];
int main()
{ int n;
while(~scanf("%d",&n))
{
memset(in,0,sizeof(in));
int i,u,v,j;
for(i=0;i<n-1;i++)
{
scanf("%d%d",&u,&v);
in[u]++;
in[v]++;
}
int sum=0;
for(i=1;i<=n;i++)
{
if(in[i]<2)
{
sum++;
}
}
sum=(sum+1)/2;
printf("%d\n",sum);
}
return 0;
}