Submission #1174812

#TimeUsernameProblemLanguageResultExecution timeMemory
1174812khanhphucscratchStations (IOI20_stations)C++20
Compilation error
0 ms0 KiB
//#include "stations.h" #include<bits/stdc++.h> using namespace std; //Subtask 2 vector<int> ad[1005]; int ans[1005]; bool visited[1005]; void dfs(int u) { visited[u] = 1; if(ad[u].size() > 0){ ans[ad[u][0]] = ans[u]*2; dfs(ad[u][0]); } if(ad[u].size() > 1){ ans[ad[u][1]] = ans[u]*2+1; dfs(ad[u][1]); } } vector<int> label(int n, int k, vector<int> a, vector<int> b) { for(int i = 0; i < n; i++){ ad[i].clear(); visited[i] = 0; } for(int i = 0; i < n-1; i++){ if(a[i] > b[i]) swap(a[i], b[i]); ad[a[i]].push_back(b[i]); } ans[0] = 1; dfs(0); vector<int> an(n); for(int i = 0; i < n; i++) an[i] = ans[i]; return an; } int lca(int u, int v) { while(u != v){ if(u < v) swap(u, v); u /= 2; } return u; } int find_next_station(int s, int t, vector<int> c) { int r = lca(s, t); if(s == r){ while(t/2 > s) t /= 2; return t; } else return s/2; } int main() { int type; cin>>type; if(type == 1){ vector<int> a, b; int n; cin>>n; for(int i = 0; i < n-1; i++){ int u, v; cin>>u>>v; a.push_back(u); b.push_back(v); } vector<int> ans = label(n, 0, a, b); for(int i : ans) cout<<i<<" "; } else{ int s, t, n; cin>>s>>t>>n; vector<int> adj(n); for(int i = 0; i < n; i++) cin>>adj[i]; cout<<find_next_station(s, t, adj); } }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccQIRGxu.o: in function `main':
stub.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccXItMUD.o:stations.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status