Submission #1311299

#TimeUsernameProblemLanguageResultExecution timeMemory
1311299AhmadAlhussain기지국 (IOI20_stations)C++20
0 / 100
390 ms596 KiB
#include<bits/stdc++.h> #include <vector> using namespace std; const int N=1005; int a[N]={};vector<int>wss[N]; void dfs(int node,int past,int cnt) { a[node]=cnt; vector<int>v={2*cnt+1,2*cnt}; for(int i:wss[node]) { if(i!=past) { dfs(i,node,v.back()); v.pop_back(); } } } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { int cnt[N]={}; std::vector<int> labels(n); for (int i = 0; i < n-1; i++) { wss[u[i]].push_back(v[i]); wss[v[i]].push_back(u[i]); cnt[u[i]]++; cnt[v[i]]++; } dfs(0,-1,1); for(int i=0;i<n;i++) { labels[i]=a[i]; } for(int i=0;i<n;i++) { wss[i].clear(); a[i]=0; } return labels; } int find_next_station(int s, int t, std::vector<int> c) { if(c.size()>=2&&(t>>(__builtin_clz(c[c.size()-2])-__builtin_clz(t))==c[c.size()-2])){ return c[c.size()-2]; } if(c.size()>=1&&(t>>(__builtin_clz(c[c.size()-1])-__builtin_clz(t))==c[c.size()-1])){ return c[c.size()-1]; } 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...