Submission #429389

#TimeUsernameProblemLanguageResultExecution timeMemory
429389abdzagStations (IOI20_stations)C++17
0 / 100
3050 ms2097156 KiB
#include<bits/stdc++.h> #include<unordered_map> #include<unordered_set> #include "stations.h" #define rep(i,a,b) for(int i=int(a);i<int(b);i++) #define rrep(i,a,b) for(int i=int(a);i>int(b);i--) #define trav(a,v) for(auto& a: v) #define sz(v) v.size() #define all(v) v.begin(),v.end() #define vi vector<int> typedef long long ll; typedef long double ld; typedef unsigned long long ull; const long long inf = 2e9; using namespace std; vector<vector<ll>> children; vector<ll> visited2; int dfs(ll cur) { if (visited2[cur])return visited2[cur]; if (children[cur].size() == 0)return 1 << cur; ll ans = 1 << cur; trav(a, children[cur])ans |= dfs(a); return ans; } vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { ll counter = 0; vector<vector<ll>> g(n); rep(i, 0, n - 1) { g[u[i]].push_back(v[i]); g[v[i]].push_back(u[i]); } vector<int> ans(n); children.resize(n); visited2.resize(n); vector<int> visited(n); queue<ll> q; q.push(0); visited[0] = 1; while (!q.empty()) { ll cur = q.front(); q.pop(); trav(a, g[cur]) { if (!visited[a]) { visited[a] = 1; q.push(a); children[cur].push_back(a); } } } rep(i, 0, n)ans[i] = dfs(i); return ans; } int find_next_station(int s, int t, vector<int> c) { trav(a, c)if ((t & a))return a; return c.back(); }

Compilation message (stderr)

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:28:5: warning: unused variable 'counter' [-Wunused-variable]
   28 |  ll counter = 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...