Submission #394134

#TimeUsernameProblemLanguageResultExecution timeMemory
394134victoriadRegions (IOI09_regions)C++14
2 / 100
8099 ms31908 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,int a,vector<int>&nec){ v[nodo]=true; if(region[nodo]==bus){ r++; for(int i=1;i<nec.size();i++){ if(nodo>nec[i]){ r++; } } } if(region[nodo]==a){ nec.push_back(nodo); } for(int c:g[nodo]){ if(!v[c]){ dfs(g,c,bus,v,r,a,nec); } } } int main(){ int N,R,Q; cin>>N>>R>>Q; vector<vector<int> >g(N); vector<vector<int> >inte(R); g.clear(); region.resize(N); int a,b; cin>>a; a--; region[0]=a; inte[a].push_back(0); for(int i=1;i<N;i++){ cin>>a>>b; a--; b--; region[i]=b; g[a].push_back(i); inte[b].push_back(i); } for(int i=0;i<Q;i++){ cin>>a>>b; a--; b--; int con=0; vector<bool>v(N,false); for(int k=0;k<inte[a].size();k++){ if(!v[inte[a][k]]){ vector<int>nec; int r=0; dfs(g,inte[a][k],b,v,r,a,nec); con+=r; } } cout<<con<<"\n"; } return 0; }

Compilation message (stderr)

regions.cpp: In function 'void dfs(std::vector<std::vector<int> >&, int, int, std::vector<bool>&, int&, int, std::vector<int>&)':
regions.cpp:16:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |      for(int i=1;i<nec.size();i++){
      |                  ~^~~~~~~~~~~
regions.cpp: In function 'int main()':
regions.cpp:60:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |     for(int k=0;k<inte[a].size();k++){
      |                 ~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...