寒假Day57:CodeForces1325C - Ehab and Path-etic MEXs-树-统计度-思维

 CodeForces - 1325C 

题意:

给出n-1行结点和结点的连接,

要求给每一条边编号(0~n-2)求任意两个结点的路径中没有出现的最小数字

思路:把所有点的入度统计一下,再统计一下叶子结点个数,最后叶子结点从0开始编号,其他节点从叶子结点个数开始编号即可,因为是从0开始

注意:输出不一定要和样例的输出一样

类似如入度的问题

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const int N=1e5+20;
int a[N],b[N],c[N];

int main()
{
    int n;
    cin>>n;
    for(int i=1; i<n; i++)
    {
        cin>>a[i]>>b[i];
        c[a[i]]++,c[b[i]]++;
    }
    int w=0;
    for(int i=1; i<n; i++) //计算叶子节点个数
    {
        if(c[a[i]]==1||c[b[i]]==1)
            w++;
    }
    int x=0;
    for(int i=1; i<n; i++)
    {
        if(c[a[i]]==1||c[b[i]]==1)
            cout<<x++<<endl;
        else
            cout<<w++<<endl;
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/OFSHK/p/12541669.html