# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1072901 | 2024-08-24T06:42:57 Z | Ignut | 기지국 (IOI20_stations) | C++17 | 1011 ms | 2208 KB |
// Ignut #include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 1111; vector<int> tree[N]; vector<int> euler; int root; void dfs(int v, int par) { euler.push_back(v); for (int to : tree[v]) { if (to != par) { dfs(to, v); if (v == root) euler.push_back(v); } } } vector<int> label(int n, int k, vector<int> u, vector<int> v) { euler.clear(); 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]); } root = 0; for (int i = 0; i < n; i ++) if (tree[i].size() > 2) root = i; dfs(root, -1); vector<int> lbl(n); lbl[root] = 0; int number = 1; for (int v : euler) { if (v == root) { number = (number / 1000 + 1) * 1000; number ++; continue; } lbl[v] = number ++; } for (int val : lbl) cerr << val << ' '; cerr << '\n'; return lbl; } int find_next_station(int s, int t, vector<int> c) { for (int val : c) cerr << val << ' '; cerr << '\n'; if (c.size() > 2) { for (int v : c) { if (v / 1000 == t / 1000) return v; } t /= 0; return t; } if (c.size() > 2) t /= 0; if (c.size() == 1) return c[0]; int mn = min(c[0], c[1]); int mx = max(c[0], c[1]); if (mn == t) return t; if (mx == t) return t; if (t == 0) return mn; if (mx / 1000 == t / 1000) { if (mx % 1000 <= t % 1000) return mx; return mn; } if (mx / 1000 == s / 1000) return mn; s /= 0; return mx; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 12 ms | 588 KB | Invalid labels (values out of range). scenario=0, k=1000, vertex=1, label=2005 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 21 ms | 344 KB | Invalid labels (values out of range). scenario=0, k=1000, vertex=0, label=1008 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 683 ms | 2208 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1011 ms | 1928 KB | Output is correct |
2 | Correct | 787 ms | 1988 KB | Output is correct |
3 | Incorrect | 774 ms | 1460 KB | Wrong query response. |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 707 ms | 1960 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |