제출 #561146

#제출 시각아이디문제언어결과실행 시간메모리
561146proma경주 (Race) (IOI11_race)C++17
21 / 100
29 ms4264 KiB
#include "race.h"
#include <bits/stdc++.h>

using namespace std;

vector <pair <int, int>> g[1005];
int ans, k, used[1005];

void dfs(int v, int p = -1, int dep = 0, long long len = 0) {
    used[v] = 1;
    if (len > k) return;
    if (len == k) ans = min(ans, dep);
    for (auto i: g[v]) {
        if (!used[i.first]) {
            dfs(i.first, v, dep + 1, len + i.second);
        }
    }
}

int best_path(int N, int K, int H[][2], int L[])
{
    k = K;
    for (int i = 0; i < N; i ++) {
        g[H[i][0]].push_back({H[i][1], L[i]});
        g[H[i][1]].push_back({H[i][0], L[i]});
    }
    ans = 1e9;
    for (int i = 0; i < N; i ++) {
        memset(used, 0, sizeof(used));
        dfs(i);
    }
    if (ans == 1e9) ans = -1;
    return ans;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...