Submission #1073004

# Submission time Handle Problem Language Result Execution time Memory
1073004 2024-08-24T08:25:44 Z Ignut Stations (IOI20_stations) C++17
0 / 100
630 ms 720 KB
// Ignut

#include <bits/stdc++.h>

using namespace std;
using ll = long long;

const int N = 1111;

vector<int> tree[N];

vector<int> dist;

void dfs(int v, int par, int d) {
    dist[v] = d;
    for (int to : tree[v])
        if (to != par)
            dfs(to, v, d + 1);
}

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

    for (int i = 0; i < n - 1; i ++) {
        tree[u[i]].push_back(v[i]);
        tree[v[i]].push_back(u[i]);
    }

    vector<int> lbl(n);
    
    dist.resize(n);

    for (int i = 0; i < n; i ++) {
        dfs(i, -1, 0);
        vector<pair<int, int>> vec;
        for (int j = 0; j < n; j ++) vec.push_back({dist[j], j});
        sort(vec.begin(), vec.end());

        lbl[i] = 0;
        for (int j = 0; j < n; j ++) lbl[i] = lbl[i] * 10 + vec[j].second;
    }

    // for (int val : lbl) cerr << val << ' ';
    // cerr << '\n';

    return lbl;
}

const int INF = 1e9 + 123;

int find_next_station(int s, int t, vector<int> c) {
    if (c.size() == 1) return c[0];
    for (int val : c) if (val == t) return t;

    int tval;
    while (t >= 10) t /= 10;
    tval = t;

    int bestPos = INF, ret = -1;
    for (int v : c) {
        string str = to_string(v);
        for (int i = 0; i < str.size(); i ++) {
            if (str[i] - '0' == tval) {
                if (i < bestPos) {
                    bestPos = i;
                    ret = v;
                }
            }
        }
    }
    return ret;
}

Compilation message

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:64:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |         for (int i = 0; i < str.size(); i ++) {
      |                         ~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 280 ms 344 KB Invalid labels (values out of range). scenario=0, k=1000, vertex=0, label=692541837
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 282 ms 720 KB Invalid labels (values out of range). scenario=0, k=1000, vertex=0, label=848388491
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 279 ms 548 KB Invalid labels (values out of range). scenario=1, k=1000000, vertex=0, label=-1471559291
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 630 ms 684 KB Output is correct
2 Correct 458 ms 684 KB Output is correct
3 Incorrect 394 ms 684 KB Wrong query response.
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 278 ms 344 KB Invalid labels (values out of range). scenario=1, k=1000000000, vertex=0, label=1249052223
2 Halted 0 ms 0 KB -