Submission #583128

#TimeUsernameProblemLanguageResultExecution timeMemory
583128LucaIlieStations (IOI20_stations)C++17
Compilation error
0 ms0 KiB
//#include "stations.h"
#include <bits/stdc++.h>

#define MAX_N 1000

using namespace std;

int l;
vector<int> edges[MAX_N];
vector<int> labels;

void dfs( int u, int p, int d ) {
    if ( d == 0 )
        labels[u] = l * 2;
    l++;
    for ( int v: edges[u] ) {
        if ( v != p )
            dfs( v, u, 1 - d );
    }
    if ( d == 1 )
        labels[u] = l * 2 + 1;
    if ( edges[u].size() > 1 )
        l++;
}

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

    labels.resize( n );
    l = 0;
    dfs( 0, -1, 0 );

    return labels;
}

int find_next_station( int s, int t, vector<int> c ) {
    int l, r, d, i;

    d = s % 2;
    s /= 2;
    t /= 2;

    if ( d == 0 ) {
        l = s;
        r = c[c.size() - 2] + 1;
    } else {
        l = c[1] - 1;
        r = s;
    }
    if ( t < l || t > r )
        return (d == 0 ? c.back() : c[0]);

    i = (d == 0 ? 1 : 0);
    while ( i < c.size() - 1 && t < c[i] / 2 )
        i++;
    return c[i];
}

Compilation message (stderr)

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:28:9: error: 'egdes' was not declared in this scope; did you mean 'edges'?
   28 |         egdes[i].clear();
      |         ^~~~~
      |         edges
stations.cpp:41:54: error: a function-definition is not allowed here before '{' token
   41 | int find_next_station( int s, int t, vector<int> c ) {
      |                                                      ^
stations.cpp:62:1: error: expected '}' at end of input
   62 | }
      | ^
stations.cpp:26:65: note: to match this '{'
   26 | vector<int> label( int n, int k, vector<int> u, vector<int> v ) {
      |                                                                 ^
stations.cpp:62:1: warning: control reaches end of non-void function [-Wreturn-type]
   62 | }
      | ^