Submission #871332

#TimeUsernameProblemLanguageResultExecution timeMemory
871332andrei_boacaStations (IOI20_stations)C++17
0 / 100
527 ms896 KiB
#include "stations.h"
#include <bits/stdc++.h>
#include <vector>
//#include "stub.cpp"
using namespace std;
vector<int> muchii[1005];
bool use[1005];
int n,k;
vector<int> ord;
vector<int> L;
int ch,ind;
void dfs(int nod)
{
    ind++;
    use[nod]=1;
    L[nod]=ch*1000+ind;
    for(int i:muchii[nod])
        if(!use[i])
            dfs(i);
}
std::vector<int> label(int N, int K, std::vector<int> u, std::vector<int> v)
{
    n=N;
    k=K;
    L.clear();
    L.resize(n);
    ord.clear();
    for(int i=0;i<n;i++)
    {
        use[i]=0;
        muchii[i].clear();
    }
    for(int i=0;i<u.size();i++)
    {
        int a=u[i];
        int b=v[i];
        muchii[a].push_back(b);
        muchii[b].push_back(a);
    }
    int root=-1;
    for(int i=0;i<n;i++)
        if(muchii[i].size()>2)
        {
            root=i;
            break;
        }
    for(int i=0;i<n;i++)
        if(muchii[i].size()==1)
        {
            root=i;
            break;
        }
    L[root]=0;
    use[root]=0;
    ch=0;
    ind=0;
    for(int i:muchii[root])
    {
        ch++;
        ind=0;
        dfs(i);
    }
    return L;
}

int find_next_station(int s, int t, std::vector<int> c)
{
    if(s==0)
    {
        for(int i:c)
            if(i/1000==t/1000)
                return i;
    }
    if(s/1000!=t/1000||(s/1000==t/1000&&s>t))
        return min(c[0],c[1]);
    return max(c[0],c[1]);
}

Compilation message (stderr)

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:33:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |     for(int i=0;i<u.size();i++)
      |                 ~^~~~~~~~~
#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...