Submission #1311135

#TimeUsernameProblemLanguageResultExecution timeMemory
1311135moha1111Stations (IOI20_stations)C++20
5 / 100
412 ms484 KiB
#include "bits/stdc++.h"
#include "stations.h"
using namespace std;

int ok = 1;

vector<int> label(int n, int k, vector<int> u, vector<int> v)
{
    vector<int> graph[n + 5];
    for(int i = 0 ; i < n - 1 ; i++)
    {
        graph[u[i]].push_back(v[i]);
        graph[v[i]].push_back(u[i]);
    }
    int cur = 0;
    for(int i = 0 ; i < n ; i++)
    {
        if(graph[i].size() > 2)
            ok = 0;
    }
    if(ok == 1)
    {
        
        for(int i = 0 ; i < n ; i++)
        {
            if(graph[i].size() == 1)
            {
                cur = i; 
                break;
            }
        }
        vector<int> la(n , 0);
        int p = -1;
        for(int i = 1 ; i <= n ; i++) 
        {
            la[cur] = i;
            int next = -1;
            for(int j : graph[cur]) 
            {
                if(j != p) 
                    next = j; 
                
            }
            p = cur;
            cur = next;
        }
        return la;
    }
    vector<int> la(n , 0);
    for(int i = 0 ; i < n ; i++)
        la[i] = i + 1;
    
    return la;
}

bool good(int node , int tar)
{
    while(node >= tar)
    {
        if(node == tar)
            return 1;
        
        node /= 2;
    }
    return (node == tar);
}

int find_next_station(int s, int t, vector<int> c)
{
    if(ok)
    {
        if(c.size() == 1)
            return c[0];
        
        if(s < t)
            return c[1];
        
        else
            return c[0];        
    }
    else
    {
        for(auto i : c)
        {
            if(good(max(i , t) , min(i , t)))
                return i;
        }
        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...