Submission #388201

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
3882012021-04-10 13:37:19SupersonicStations (IOI20_stations)C++14
100 / 100
927 ms968 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
int c[1001];set<int> a[1001];int l[1001];
int ch(int k,int p){
int t=a[k].size()-1;for(auto i:a[k])if(i!=p)t+=ch(i,k);
//if(k==0)for(auto i:a[k])cerr<<i<<'=';cout<<endl;
if(k==0)t++;c[k]=t;return t;
}
void as(int k,int p,int v,int g){
//cerr<<k<<' '<<p<<' '<<v<<' '<<g<<endl;
int j=v;l[k]=v;
for(auto i:a[k])if(i!=p){j+=(c[i]+1)*g;as(i,k,j,g*(-1));}
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
for(int i=0;i<n-1;i++){
a[u[i]].insert(v[i]);
a[v[i]].insert(u[i]);
}
int r=ch(0,-1);as(0,-1,0,1);
//for(int i=0;i<n;i++){cerr<<i<<'-'<<c[i]<<endl;}
vector<int> f;for(int i=0;i<n;i++){f.push_back(l[i]);//cerr<<i<<':'<<l[i]<<endl;
}
memset(c,0,sizeof(c));memset(l,0,sizeof(l));for(int i=0;i<1001;i++)a[i].clear();
return f;
}
int find_next_station(int s, int t, std::vector<int> c) {
int n=c.size();
//cerr<<s<<' '<<t<<endl;for(auto i:c)cerr<<i<<'-';cerr<<endl;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

stations.cpp: In function 'int ch(int, int)':
stations.cpp:8:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    8 |  if(k==0)t++;c[k]=t;return t;
      |  ^~
stations.cpp:8:14: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    8 |  if(k==0)t++;c[k]=t;return t;
      |              ^
stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:20:6: warning: unused variable 'r' [-Wunused-variable]
   20 |  int r=ch(0,-1);as(0,-1,0,1);
      |      ^
#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...