Submission #1217080

#TimeUsernameProblemLanguageResultExecution timeMemory
1217080cpdreamer기지국 (IOI20_stations)C++20
0 / 100
3057 ms2162688 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; const long long INF = 1e17; typedef long long ll; const ll MOD = (ll)1e9+7; #define P pair #define S second #define F first #define pb push_back #define V vector #define all(v) v.begin(), v.end() V<int>adj[(int)1000]; V<P<int,int>>vp(1000); int cnt=0; void dfs(int n,int p) { vp[n].F=cnt; for (auto u:adj[n]) { if(u==p)continue; cnt++; dfs(u,n); } vp[n].S=cnt; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { for (int i=0;i<n-1;i++) { adj[u[i]].pb(v[i]); adj[v[i]].pb(u[i]); } dfs(0,-1); V<int>l(n); for (int i=0;i<n;i++) { l[i]=1000*vp[i].F+vp[i].S; } return l; } bool check(int x,int y) { int r=x%1000; int l=(x-r)/1000; int n=(y-y%1000)/1000; return (n>=l && n<=r); } int find_next_station(int s, int t, std::vector<int> c) { for (int i=1;i<(int)c.size();i++) { if (check(c[i],t)) { return c[i]; } } return c[0]; }
#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...