제출 #1303749

#제출 시각아이디문제언어결과실행 시간메모리
1303749opeleklanos기지국 (IOI20_stations)C++20
5 / 100
392 ms536 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <math.h>
#include "stations.h"
using namespace std;

vector<vector<int>> adj;

vector<int> label (int n, int k, vector<int> u, vector<int> v){
    adj.assign(n, {});
    for(int i = 0; i<n-1; i++){
        adj[u[i]].push_back(v[i]);
        adj[v[i]].push_back(u[i]);
    }
    vector<int> label(n, -1);
    //vector<int> vis(n, 0);
    for(int i = 0; i<n-1; i++){
        if(adj[i].size() == 1){
            //label[i] = 1;
            int indx = 1;
            int c = i;
            do{
                label[c] = indx;
                indx++;
                c = (label[adj[c][0]] == -1)?adj[c][0] : adj[c][1]; 
            }while(adj[c].size() != 1);
            label[c] = indx;
            break;
        }
    }
    return label;
}


int find_next_station(int s, int t, vector<int> c){
    if(s < t) return c[0]>s ? c[0] : c[1];
    else return c[0]<s ? c[0] : c[1];
}


// int main(void){
//    // freopen("input.txt", "r", stdin);
//     int n; cin>>n;
//     vector<int> u(n-1, 0);
//     vector<int> v(n-1, 0);
//     for(int i = 0; i<n-1; i++) cin>>u[i]>>v[i];
//     label(n, 100000000, u, v);
//     //cout<<find_next_station(3, 6);
    
// }
#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...