274442026-05-08 18:34:20KristófTitkos társaság 2 *cpp17Elfogadva 100/1006ms756 KiB
#include <iostream>
#include <vector>
using namespace std;
vector<bool> vis;
int k;
int dfs(vector<vector<pair<int,int>>> &g ,int s)
    {
    vis[s]=true;
    int res=k-g[s].size();
    for(auto x:g[s])
        {
        res+=dfs(g,x.first);
        }
    return res;
    }
int main()
{
    int n;
    cin>>n>>k;
    vis.resize(n,false);
    vector<vector<pair<int,int>>> g(n);
    for(int i=0;i<n-1;i++)
        {
        int x,y;
        cin>>x>>y;
        g[--x].push_back({i+1,y});
        }
    cout<<k-g[0].size()<<"\n";
    vector<int> kozvetlenbeosztott(k,0);
    for(auto x:g[0])
        {
        kozvetlenbeosztott[x.second-1]=dfs(g,x.first);
        }
    for(int x:kozvetlenbeosztott)cout<<x<<" ";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base100/100
1Elfogadva5/52ms316 KiB
2Elfogadva5/52ms316 KiB
3Elfogadva5/51ms316 KiB
4Elfogadva5/52ms316 KiB
5Elfogadva5/51ms316 KiB
6Elfogadva5/51ms316 KiB
7Elfogadva6/61ms408 KiB
8Elfogadva6/61ms316 KiB
9Elfogadva6/62ms316 KiB
10Elfogadva7/72ms316 KiB
11Elfogadva9/93ms528 KiB
12Elfogadva9/94ms564 KiB
13Elfogadva9/94ms564 KiB
14Elfogadva9/96ms756 KiB
15Elfogadva9/96ms700 KiB