Submission #1295990

#TimeUsernameProblemLanguageResultExecution timeMemory
1295990eri16Stations (IOI20_stations)C++20
0 / 100
391 ms484 KiB
#include "stations.h"
#include <bits/stdc++.h>

using namespace std;


vector<int> label(int n, int k, vector<int> u, vector<int> v) {

    vector<vector<int>> adj(n);
    for (int i=0; i<n-1; i++) {
        adj[u[i]].push_back(v[i]);
        adj[v[i]].push_back(u[i]);
    }
    int start=-1;
    for (int i=0; i<n; i++){
        if (adj[i].size()==1){
            start=i;
            break;
        }
    }

    vector<int> lbl(n, -1);
    int prev=-1, cur=start;
    int id=0;

    while (true) {
        lbl[cur]=id++;
        int nxt=-1;
        for (int x : adj[cur])
            if (x!=prev)
                nxt=x;
        if (nxt==-1) break;
        prev=cur;
        cur=nxt;
    }

    return lbl;
}


int find_next_station(int s, int t, vector <int> c){
  
    if (s<t && c[0]<c[1]){return c[1];}
    else if (s<t && c[0]>c[1]){return c[0];}
    else if (s>t && c[0]>c[1]){return c[1];}
    else {return c[0];}
}
#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...