제출 #1304553

#제출 시각아이디문제언어결과실행 시간메모리
1304553h1drogen경주 (Race) (IOI11_race)C++20
컴파일 에러
0 ms0 KiB
#include "race.h" #include <climits> #include <vector> #include <utility> // для pair using namespace std; int best_path(int N, int K, int H[][2], int L[]) { vector<vector<pair<int,int>>> g(N); for(int i=0;i<N-1;i++){ g[H[i][0]].push_back(make_pair(H[i][1], L[i])); g[H[i][1]].push_back(make_pair(H[i][0], L[i])); } int answer = INT_MAX; // Обычный рекурсивный DFS без std::function и лямбд void dfs(int v, int p, int length, int edges, vector<vector<pair<int,int>>> &g, int K, int &answer) { if(length == K){ if(edges > 0) // путь хотя бы с одной дорогой answer = min(answer, edges); return; } if(length > K) return; for(size_t i=0;i<g[v].size();i++){ int u = g[v][i].first; int w = g[v][i].second; if(u != p){ dfs(u, v, length + w, edges + 1, g, K, answer); } } } for(int i=0;i<N;i++){ dfs(i, -1, 0, 0, g, K, answer); } if(answer == INT_MAX) return -1; return answer; }

컴파일 시 표준 에러 (stderr) 메시지

race.cpp: In function 'int best_path(int, int, int (*)[2], int*)':
race.cpp:17:105: error: a function-definition is not allowed here before '{' token
   17 |     void dfs(int v, int p, int length, int edges, vector<vector<pair<int,int>>> &g, int K, int &answer) {
      |                                                                                                         ^
race.cpp:35:9: error: 'dfs' was not declared in this scope
   35 |         dfs(i, -1, 0, 0, g, K, answer);
      |         ^~~