Submission #1311133

#TimeUsernameProblemLanguageResultExecution timeMemory
1311133moha1111Stations (IOI20_stations)C++20
5 / 100
401 ms484 KiB
#include "bits/stdc++.h" #include "stations.h" using namespace std; int ok = 1; vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<int> graph[n + 5]; for(int i = 0 ; i < n - 1 ; i++) { graph[u[i]].push_back(v[i]); graph[v[i]].push_back(u[i]); } int cur = 0; for(int i = 0 ; i < n ; i++) { if(graph[i].size() > 2) ok = 0; } if(ok == 1) { for(int i = 0 ; i < n ; i++) { if(graph[i].size() == 1) { cur = i; break; } } vector<int> la(n , 0); int p = -1; for(int i = 1 ; i <= n ; i++) { la[cur] = i; int next = -1; for(int j : graph[cur]) { if(j != p) next = j; } p = cur; cur = next; } return la; } vector<int> la(n , 0); for(int i = 0 ; i < n ; i++) la[i] = i + 1; return la; } bool good(int node , int tar) { while(node >= tar) { if(node == tar) return 1; node /= 2; } return (node == tar); } int find_next_station(int s, int t, vector<int> c) { if(ok) { if(c.size() == 1) return c[0]; if(s < t) return c[1]; else return c[0]; } else { for(auto i : c) { if(good(max(i , s) , min(i , s))) return i; } return c.back(); } }
#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...