Comment

avatar username

I just did the problem E found it easy and fun !!

// this is code
signed main()
{
    int N;
    cin >> N;

    vector<vector<int> > T(N);
    vector<int> degree(N, 0);

    for (int i = 0; i < N - 1; ++i)
    {
        int u, v;
        cin >> u >> v;
        u--;
        v--;
        T[u].push_back(v);
        T[v].push_back(u);
        degree[u]++;
        degree[v]++;
    }

    int result = N;

    for (int u = 0; u < N; ++u)
    {
        int x=degree[u];
        vector<int> k;
        for(int i=0;i<T[u].size();i++)
        {
            k.push_back(degree[T[u][i]]);
        }
        sort(k.begin(),k.end());
        //pvec(k);
        int y;
        for(int i=0;i<k.size();i++)
        {
            y=k[i]-1;
            int z=k.size()-i;
            result=min(result,N-(1+z+z*y));
            //cout<<result<<" ";
        }
        cout<<endl;
    }
    cout << result << endl;
    return 0;
}

The actual rating of this user is 1562.

Original comment.

Statistics