Submission #498814

#TimeUsernameProblemLanguageResultExecution timeMemory
498814SlavicGSpeedrun (RMI21_speedrun)C++17
Compilation error
0 ms0 KiB
#include "speedrun.h" #include "bits/stdc++.h" using namespace std; #define pb push_back #define sz(a) (int)a.size() /* void setHintLen (int l){} void setHint(int i, int j, bool b){} int getLength(){} bool getHint(int j){} bool goTo(int x){} */ void dfsHint(int u, int par, vector<vector<int>>& adj, vector<int>& right_neighbor, vector<int>& parent, vector<int>& left_child){ parent[u] = par; vector<int> nodes; for(int v: adj[u]){ if(v == par)continue; dfsHint(v, u, adj, right_neighbor, parent, left_child); nodes.pb(v); } if(sz(nodes))left_child[i] = nodes[0]; for(int i = 0;i + 1 < sz(nodes); ++i){ right_neighbor[nodes[i]] = nodes[i + 1]; } } void assignHints(int subtask , int n, int a[], int b[]){ setHintLen(30); vector<vector<int>> adj(n + 1); for(int i = 1;i <= n - 1; ++i){ adj[a[i]].pb(b[i]); adj[b[i]].pb(a[i]); } vector<int> right_neighbor(n + 1, 0), parent(n + 1, 0), left_child(n + 1, 0); dfsHint(1, 0, adj, right_neighbor, parent, left_child); for(int i = 1;i <= n; ++i){ int idx = 1; for(int j = 9;j >= 0; --j){ if(parent[i] & (1 << j))setHint(i, idx, 1); ++idx; } for(int j = 9;j >= 0; --j){ if(left_child[i] & (1 << j))setHint(i, idx, 1); ++idx; } for(int j = 9;j >= 0; --j){ if(right_neighbor[i] & (1 << j))setHint(i, idx, 1); ++idx; } } } void dfs(int u, vector<bool>& vis){ int lc = 0, rn = 0, par = 0, idx = 1; for(int j = 9;j >= 0; --j){ if(getHint(idx))par += (1 << j); ++idx; } for(int j = 9;j >= 0; --j){ if(getHint(idx))lc += (1 << j); ++idx; } for(int j = 9;j >= 0; --j){ if(getHint(idx))rn += (1 << j); ++idx; } if(vis[u]){ if(par == 0)exit(0); goTo(par); dfs(par, vis); } vis[u] = true; if(lc && !vis[lc]){ goTo(lc); dfs(lc, vis); } if(rn && !vis[rn]){ goTo(par); goTo(rn); dfs(rn, vis); } if(par != 0){ goTo(par); dfs(par, vis); }else exit(0); } void speedrun(int subtask, int n, int start){ int l = getLength(); vector<bool> vis(n + 1, false); dfs(start, vis); } /* int main(){ } */

Compilation message (stderr)

speedrun.cpp: In function 'void dfsHint(int, int, std::vector<std::vector<int> >&, std::vector<int>&, std::vector<int>&, std::vector<int>&)':
speedrun.cpp:24:29: error: 'i' was not declared in this scope
   24 |     if(sz(nodes))left_child[i] = nodes[0];
      |                             ^
speedrun.cpp: In function 'void speedrun(int, int, int)':
speedrun.cpp:97:9: warning: unused variable 'l' [-Wunused-variable]
   97 |     int l = getLength();
      |         ^