Submission #693241

#TimeUsernameProblemLanguageResultExecution timeMemory
693241NemanjaSo2005Stations (IOI20_stations)C++14
0 / 100
740 ms544 KiB
#include<bits/stdc++.h>
#include "stations.h"
#define ll long long
using namespace std;
int N,K,in[1005],out[1005],vrem=0;
vector<int> stablo[1005],L;
void dfs(int gde,int pret){
   in[gde]=++vrem;
   for(int i=0;i<stablo[gde].size();i++)
      if(stablo[gde][i]!=pret)
         dfs(stablo[gde][i],gde);
   out[gde]=vrem;
   return;
}
vector<int> label(int n,int k,vector<int> u,vector<int> v){
   N=n;
   K=k;
   for(int i=0;i<N-2;i++){
      stablo[u[i]].push_back(v[i]);
      stablo[v[i]].push_back(u[i]);
   }
   dfs(0,0);
   L.clear();
   for(int i=0;i<N;i++)
      L.push_back(in[i]*1000+out[i]);
   vrem=0;
   for(int i=0;i<N;i++)
      stablo[i].clear();
   return L;
}
struct slog{
   int in,out;
}niz[1005],tren,tar;
bool isparent(slog a,slog b){
   return a.in<b.in and a.out>=b.out;
}
int find_next_station(int s,int t,vector<int> c){
   if(s==t)
      return t;
   N=c.size();
   for(int i=0;i<N;i++){
      niz[i].in=c[i]/1000;
      niz[i].out=c[i]%1000;
   }
   tar.in=t/1000;
   tar.out=t%1000;
   tren.in=s/1000;
   tren.out=s%1000;
   for(int i=0;i<N;i++)
      if(isparent(niz[i],tren)){
         swap(niz[i],niz[N-1]);
         swap(c[i],c[N-1]);
         N--;
         break;
      }
   for(int i=0;i<N;i++)
      if(isparent(niz[i],tar))
         return c[i];
   return c[N-1];
}

Compilation message (stderr)

stations.cpp: In function 'void dfs(int, int)':
stations.cpp:9:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |    for(int i=0;i<stablo[gde].size();i++)
      |                ~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...