154512025-02-19 17:07:08999Útadócpp17Hibás válasz 0/50160ms7260 KiB
// Source: https://usaco.guide/general/io

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

#define int long long

const int inf=1e9;

int power(int a,int b){
    if(b==0)return 1;
    return power(a,b-1)*a;
}

vector<int> depth;

bool hasonlo(pair<int,int> a, pair<int,int> b){
    return depth[a.second]<depth[b.second];
}

void dfs(vector<vector<int>>& v, int i, int d){
    depth[i]=d;
    for(int j : v[i]){
        dfs(v,j,d+1);
    }
}

signed main() {
    int n;cin>>n;
    vector<pair<int,int>> elek;
    vector<vector<int>> v(n);
    depth.resize(n);
    for(int i = 0;i<n-1;i++){
        int a,b;cin>>a>>b;
        a--;b--;
        elek.push_back({a,b});
        v[a].push_back(b);
    }
    vector<int> arak(n-1);
    for(int i = 0;i<n-1;i++){
        cin>>arak[i];
    }
    sort(arak.rbegin(),arak.rend());
    dfs(v, 0, 0);
    sort(elek.begin(),elek.end(),hasonlo);
    for(int i = 0;i<n-1;i++){
        cout<<elek[i].first+1<<' '<<elek[i].second+1<<' '<<arak[i]<<endl;
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/01ms512 KiB
2Hibás válasz0/061ms2216 KiB
3Hibás válasz0/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/21ms508 KiB
7Hibás válasz0/21ms508 KiB
8Hibás válasz0/8152ms7260 KiB
9Hibás válasz0/24ms508 KiB
10Hibás válasz0/24ms480 KiB
11Hibás válasz0/24ms316 KiB
12Hibás válasz0/24ms488 KiB
13Hibás válasz0/24ms508 KiB
14Hibás válasz0/2156ms5028 KiB
15Hibás válasz0/2152ms4976 KiB
16Hibás válasz0/2150ms5032 KiB
17Hibás válasz0/2148ms5028 KiB
18Hibás válasz0/2158ms5032 KiB
19Hibás válasz0/2160ms5164 KiB
20Hibás válasz0/2153ms5032 KiB
21Hibás válasz0/2155ms5296 KiB
22Hibás válasz0/2153ms5236 KiB
23Hibás válasz0/2155ms5288 KiB
24Hibás válasz0/2153ms5300 KiB