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...