现在的位置: 首页 > 综合 > 正文

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

2018年04月26日 ⁄ 综合 ⁄ 共 402字 ⁄ 字号 评论关闭

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

 
 #include<cstdio>
#include<cstring>
using namespace std;
#define max 10001
int 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;
}        

 

抱歉!评论已关闭.