#include "race.h"
#include <vector>
#include <queue>
#include <iostream>
using namespace std;
const int N = 200001;
int att[N];
int biju[N];
vector<vector<pair<int,int>>> g;
void DFS(int v1){
for(auto p : g[v1]){
if(!biju[p.second]){
att[p.second] = att[v1] + att[p.first];
DFS(p.second);
}
}
}
int best_path(int N, int K, int H[][2], int L[])
{
for(int i = 0; i < N-1; i++){
int v1 = H[i][0];
int v2 = H[i][1];
int att = L[i];
g[v1].push_back({att,v2});
g[v2].push_back({att,v1});
}
int res = 0;
for(int i = 0; i < N; i++){
fill(att,att+N, 0);
fill(biju,biju+N, 0);
att[i] = 0;
biju[i] = 1;
DFS(i);
for(int i = 0; i < N; i++){
if(att[i] == K){
res++;
}
}
}
//cout << res/2;
return res/2;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |