Submission #1104560

#TimeUsernameProblemLanguageResultExecution timeMemory
1104560vjudge1Tropical Garden (IOI11_garden)C++17
0 / 100
1 ms336 KiB
#include "garden.h" #include "gardenlib.h" #include<bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int, int>; const int MxN = 1005; int n, m, p, q, g, r[MxN][2]; ll ans; vector<pii> v[MxN]; void dfs (int cur, int dist, int w) { if (dist == g && cur == p) return void(ans++); if (dist >= g) return; if (v[cur].size() == 1) { auto [x, y] = v[cur][0]; dfs(y, dist + 1, x); } else { for (auto &[x, y]: v[cur]) { if (x != w) { dfs(y, dist + 1, x); break; } } } } void count_routes(int N, int M, int P, int R[][2], int Q, int G[]){ n = N; m = M; p = P; q = Q; g = G[0]; for (int i = 0; i < m; i++) { r[i][0] = R[i][0]; r[i][1] = R[i][1]; v[r[i][0]].emplace_back(i, r[i][1]); v[r[i][1]].emplace_back(i, r[i][0]); } for (int i = 0; i < n; i++) sort(v[i].begin(), v[i].end()); for (int i = 0; i < n; i++) dfs(i, 0, -1); answer(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...