Submission #347518

#TimeUsernameProblemLanguageResultExecution timeMemory
347518tengiz05Tropical Garden (IOI11_garden)C++17
0 / 100
5045 ms3820 KiB
#include "garden.h" #include "gardenlib.h" //~ #include "grader.cpp" #include <bits/stdc++.h> using namespace std; #define pb push_back const int N_ = 150005; int ans, n, m, target; vector<int> edges[N_]; int d; void dfs(int u){ if(d < 0)return; if(d == 0){ if(u == target){ ans++; }d--; return; }d--; int last = u; for(int i=0;i<(int)edges[u].size();i++, i%=2){ int v = edges[u][i]; if(last == v)break; if(d < 0)return; continue; dfs(v); if(d == 0 && u == target){ ans++;d--;return; }last = v; }d--; } void count_routes(int N, int M, int P, int R[][2], int Q, int G[]){ target = P; n = N, m = M; for(int i=0;i<m;i++){ edges[R[i][0]].pb(R[i][1]); edges[R[i][1]].pb(R[i][0]); } for(int i=0;i<Q;i++){ ans=0; for(int j=0;j<n;j++){ d = G[i]; dfs(j); }answer(ans); }return; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...