제출 #347557

#제출 시각아이디문제언어결과실행 시간메모리
347557milleniumEeee열대 식물원 (Tropical Garden) (IOI11_garden)C++17
49 / 100
5032 ms4844 KiB
#include "garden.h" #include "gardenlib.h" #include <bits/stdc++.h> //#include "grader.cpp" #define pii pair<int, int> #define fr first #define sc second using namespace std; const int MAXN = 150005; int k; int n, m, p; vector <pii> g[MAXN]; int dfs(int v, int par = -1, int len = 0) { if (len == k) { if (v == p) { return 1; } else { return 0; } } pii best = {(int)1e9, -1}; auto get = [&](pii a, pii b) { if (a.fr < b.fr) { return a; } else { return b; } }; for (pii to : g[v]) { if (to.sc != par) { best = get(best, to); } } if (best.fr == 1e9) { return dfs(par, v, len + 1); } else { return dfs(best.sc, v, len + 1); } } void count_routes(int N, int M, int P, int R[][2], int Q, int G[]) { n = N; m = M; p = P; for (int i = 0; i < M; i++) { g[R[i][0]].push_back({i, R[i][1]}); g[R[i][1]].push_back({i, R[i][0]}); } for (int i = 0; i < Q; i++) { k = G[i]; int ans = 0; for (int v = 0; v < N; v++) { ans += dfs(v); } answer(ans); } return; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...