Submission #431290

#TimeUsernameProblemLanguageResultExecution timeMemory
431290Bill_00Tropical Garden (IOI11_garden)C++14
49 / 100
5080 ms6184 KiB
#include "garden.h" #include "gardenlib.h" #include <bits/stdc++.h> using namespace std; vector<pair<int,int> >adj[200000]; int lim,pur,cnt; void dfs(int node,int from,int zai){ if(zai==lim){ if(pur==node)cnt++; return; } if(adj[node].size()==1 && from!=-1){ dfs(adj[node][0].second,node,zai+1); return; } if(adj[node][0].second!=from){ dfs(adj[node][0].second,node,zai+1); } else{ dfs(adj[node][1].second,node,zai+1); } } void count_routes(int N, int M, int P, int R[][2], int Q, int G[]) { pur=P; lim=G[0]; for(int i=0;i<M;i++){ adj[R[i][0]].push_back({i,R[i][1]}); adj[R[i][1]].push_back({i,R[i][0]}); } for(int i=0;i<N;i++){ sort(adj[i].begin(),adj[i].end()); } for(int i=0;i<N;i++){ dfs(i,-1,0); } answer(cnt); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...