Submission #1073094

#TimeUsernameProblemLanguageResultExecution timeMemory
1073094IgnutStations (IOI20_stations)C++17
0 / 100
586 ms940 KiB
// 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 + 1; } // 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; int tval = to_string(t)[0]; while (t >= 10) t /= 10; // if (t != tval) // return -10000; if (t == 0 || tval == 0) return -10000; 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 (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:69:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   69 |         for (int i = 0; i < str.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...