nyoj 170 网络的可靠性(讨论度数为1时的情况,它们至少应该再连一条线)

来源:互联网 发布:洞主卖香皂的淘宝店 编辑:程序博客网 时间:2024/06/05 08:41

即要求每个顶点的连线不能少于两条,只需判断哪些点的连线只有一条后,而这些点重新连为2条边需添加的边数为(sum+1)/2.sum为连线只有一条的点个数。

  #include<cstdio>#include<cstring>using namespace std;#define max 10001int result[max];int main(){    int n,i,a,b;    while(scanf("%d",&n)!=EOF)    {        memset(result,0,sizeof(result));        for(i=0;i<n-1;i++)        {            scanf("%d%d",&a,&b);            result[a]++;            result[b]++;        }        int sum=0;        for(i=0;i<=n;i++)        {            if(result[i]==1)            sum++;        }        printf("%d\n",sum%2==0?sum/2:(sum/2+1));    }    return 0;}        


 

原创粉丝点击