제출 #592398

#제출 시각아이디문제언어결과실행 시간메모리
592398proma열대 식물원 (Tropical Garden) (IOI11_garden)C++17
49 / 100
7 ms1248 KiB
#include "garden.h" #include "gardenlib.h" #include <bits/stdc++.h> using namespace std; const int N = 1005; vector <pair <int, int>> g[N]; vector <int> cmpn; int used[N], cnt; void dfs(int v) { cmpn.push_back(v); used[v] = 1; for (auto i: g[v]) { if (!used[i.first]) { dfs(i.first); } } } void go(int v, int last, int step, int k, int p) { if (step == k) { if (v == p) cnt ++; return; } if (g[v].size() == 1 or last != g[v][0].second) { go(g[v][0].first, g[v][0].second, step + 1, k, p); } else { go(g[v][1].first, g[v][1].second, step + 1, k, p); } } void count_routes(int N, int M, int P, int R[][2], int Q, int G[]) { for (int i = 0; i < M; i ++) { g[R[i][0]].push_back({R[i][1], i}); g[R[i][1]].push_back({R[i][0], i}); } dfs(P); for (auto i: cmpn) { go(i, -1, 0, G[0], P); } answer(cnt); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...