Submission #394129

#TimeUsernameProblemLanguageResultExecution timeMemory
394129victoriadRegions (IOI09_regions)C++14
12 / 100
8099 ms26844 KiB
#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> #include <utility> #include <queue> #include <map> #include <iomanip> using namespace std; vector<int>region; void dfs(vector<vector<int> >&g,int nodo,int bus,vector<bool>&v,int & r){ v[nodo]=true; if(region[nodo]==bus)r++; for(int c:g[nodo]){ if(!v[c]){ dfs(g,c,bus,v,r); } } } int main(){ int N,R,Q; cin>>N>>R>>Q; vector<vector<int> >g(N); g.clear(); region.resize(N); int a,b; cin>>a; a--; region[0]=a; for(int i=1;i<N;i++){ cin>>a>>b; a--; b--; region[i]=b; g[a].push_back(i); } for(int i=0;i<Q;i++){ cin>>a>>b; a--; b--; int con=0; for(int k=0;k<N;k++){ if(region[k]==a){ vector<bool>v(N,false); dfs(g,k,b,v,con); } } cout<<con<<"\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...