Submission #380293

#TimeUsernameProblemLanguageResultExecution timeMemory
380293SuhaibSawalha1Stations (IOI20_stations)C++17
0 / 100
854 ms1120 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> adj; int n; vector<int> lb; bool find (int u, int p, int t) { if (u == t) { return 1; } for (int v : adj[u]) { if (v ^ p && find(v, u, t)) { return 1; } } return 0; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { ::n = n; adj.clear(); adj.resize(n); lb.resize(n); for (int i = 0; i < n - 1; ++i) { if (u[i] >= n || v[i] >= n) { return {}; } adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } iota(lb.begin(), lb.end(), 0); return lb; } int find_next_station(int s, int t, vector<int> c) { if (c.size() >= 2) { return 1e9; } return find(c[0], s, t) ? c[0] : c[1]; }
#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...