Submission #413206

#TimeUsernameProblemLanguageResultExecution timeMemory
413206losmi247Stations (IOI20_stations)C++14
0 / 100
3161 ms1700624 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1005;

int deg[N];
vector <int> g[N];



vector <int> label(int n,int k,vector <int> u,vector <int> v){
    for(int i = 0; i < n-1; i++){
        deg[u[i]]++, deg[v[i]]++;
        g[u[i]].push_back(v[i]);
        g[v[i]].push_back(u[i]);
    }


    bool prvi = 1;
    for(int i = 0; i < n; i++) if(deg[i] > 2) prvi = 1;
    if(prvi){
        int cnt = 0;
        vector <int> l(n);
        queue <pair<int,int>> q;
        for(int i = 0; i < n; i++){
            if(deg[i] == 1){
                q.push({i,0});
                break;
            }
        }
        while(!q.empty()){
            int u = q.front().first,par = q.front().second;
            l[u] = cnt++;
            q.pop();
            for(auto v : g[u]){
                if(v == par) continue;
                q.push({v,u});
            }
        }
        return l;
    }
    assert(1 == 0);
}

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