Submission #730255

#TimeUsernameProblemLanguageResultExecution timeMemory
730255Andrei_CalotaSpeedrun (RMI21_speedrun)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include <speedrun.h> using namespace std; const int NMAX = 1e3; const int BITS = 20, HALF = 10; const int ROOT = 1, NONE = 0; int par[1 + NMAX]; vector<int> tree[1 + NMAX]; int lastNode; int nextPreoder[1 + NMAX]; void DFSassign (int root, int p) { par[root] = p; nextPreoder[lastNode] = root; lastNode = root; for (int node : tree[root]) if (node != p) DFSassign (node, root); } /**bool bits[50][20]; void setHint (int node, int bit, bool value) { bits[node][bit] = value; } bool getHint (int node, int bit) { return bits[node][bit]; }**/ void assignHints (int substask, int N, int A[], int B[]) { setHintlen (BITS); for (int i = 1; i < N; i ++) { tree[A[i]].push_back (B[i]); tree[B[i]].push_back (A[i]); } DFSassign (ROOT, NONE); for (int node = 1; node <= N; node ++) for (int bit = 0; bit < HALF; bit ++) if (par[node] & (1 << bit)) setHint (node, bit + 1, true); for (int node = 1; node <= N; node ++) for (int bit = HALF; bit < BITS; bit ++) if (nextPreoder[node] & (1 << (bit - HALF))) setHint (node, bit + 1, true); } int getPar (int node) { int p = 0; for (int bit = 0; bit < HALF; bit ++) if (getHint (node, bit + 1) == true) p = p + (1 << bit); return p; } int getNextPreoder (int node) { int preord = 0; for (int bit = HALF; bit < BITS; bit ++) if (getHint (node, bit + 1) == true) preord = preord + (1 << (bit - HALF)); return preord; } void speedrun (int subtask, int N, int start) { int len = getLength (); ///cout << start << " "; while (start != ROOT) goTo (getPar (start)); ///start = getPar (start), cout << start << " "; while (getNextPreoder (start) != NONE) { int target = getNextPreoder (start); while (getPar (target) != start) goTo (getPar (start)); ///start = getPar (start), cout << start << " "; goTo (target); ///start = target, cout << start << " "; } }

Compilation message (stderr)

speedrun.cpp: In function 'void assignHints(int, int, int*, int*)':
speedrun.cpp:32:4: error: 'setHintlen' was not declared in this scope; did you mean 'setHintLen'?
   32 |    setHintlen (BITS);
      |    ^~~~~~~~~~
      |    setHintLen
speedrun.cpp: In function 'int getPar(int)':
speedrun.cpp:54:33: error: too many arguments to function 'bool getHint(int)'
   54 |       if (getHint (node, bit + 1) == true)
      |                                 ^
In file included from speedrun.cpp:2:
speedrun.h:11:6: note: declared here
   11 | bool getHint(int j);
      |      ^~~~~~~
speedrun.cpp: In function 'int getNextPreoder(int)':
speedrun.cpp:61:33: error: too many arguments to function 'bool getHint(int)'
   61 |       if (getHint (node, bit + 1) == true)
      |                                 ^
In file included from speedrun.cpp:2:
speedrun.h:11:6: note: declared here
   11 | bool getHint(int j);
      |      ^~~~~~~
speedrun.cpp: In function 'void speedrun(int, int, int)':
speedrun.cpp:67:8: warning: unused variable 'len' [-Wunused-variable]
   67 |    int len = getLength ();
      |        ^~~