Submission #306593

#TimeUsernameProblemLanguageResultExecution timeMemory
306593chubyxdxdStations (IOI20_stations)C++14
0 / 100
974 ms760 KiB
#include "stations.h"
#include <iostream>
#include <vector>
using namespace std;
vector<int> label(int n, int k,vector<int> u,vector<int> v) {
  int in[n+1];
  for(int i=0;i<n;i++)in[i]=0;
  for(int i=0;i<n;i++){
    in[v[i]]++;
    in[u[i]]++;
  }
  int piv=0;
  for(int i=0;i<n;i++){
    if(in[i]==1){
      piv=i;
      break;
    }
  }
  //cout<<piv<<endl;
  vector<int> gg;
  gg.push_back(piv);
  for(int i=0;i<n-1;i++){
    for(int j=0;j<n;j++){
      if(u[j]==piv){
	gg.push_back(v[j]);
	piv=v[j];
      }
    }
  }
  if(gg.size()==1){
    for(int i=0;i<n-1;i++){
    for(int j=0;j<n;j++){
      if(v[j]==piv){
	gg.push_back(u[j]);
	piv=u[j];
	break;
      }
    }
  }
  }
  //for(auto i:gg)cout<<i<<" ";
  //cout<<endl;
  vector<int> labels(n);
  for(int i=0;i<n;i++){
    //cout<<gg[i]<<" ";
    labels[gg[i]]=i;
  }
  //cout<<endl;
  return labels;
}

int find_next_station(int s, int t,vector<int> c) {
  if(t<s)return s-1;
  else return s+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...