Submission #647366

#TimeUsernameProblemLanguageResultExecution timeMemory
647366NiyaSpeedrun (RMI21_speedrun)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include "speedrun.h" using namespace std; const int maxn = 1024; vector<int>v[maxn]; vector<int>tour; int used[maxn]; void set_parent( int nb, int par ) { int cnt = 1; while( par != 0 ) { setHint(nb,cnt,(par%2)); par /= 2; } } void dfs( int w ) { used[w] = 1; tour.push_back(w); int sz = v[w].size(); for( int i = 0; i < sz; i ++ ) { int nb = v[w][i]; if( used[nb] == 0 ) { set_parent(nb,w); dfs(nb); } } } void set_next( int x, int y ) { int cnt = 11; while( y != 0 ) { setHint(x,cnt,(y%2)); y /= 2; } } void assignHints(int subtask, int N, int A[], int B[] ) { setHintLen(20); for( int i = 1; i < N; i ++ ) { v[A[i]].push_back(B[i]); v[B[i]].push_back(A[i]); } int sz = tour.size(); for( int i = 0; i < sz-1; i ++ ) { int x = tour[i]; int y = tour[i+1]; set_next(x,y); } } int parent[maxn]; int pw[maxn]; int get_parent() { int x = 0; for( int i = 1; i <= 10; i ++ ) { x += ( getHint(i) * pw[i-1] ); } return x; } int get_next() { int x = 0; for( int i = 11; i <= 20; i ++ ) { x += ( getHint(i) * pw[i-11] ); } return x; } void speedrun(int subtask, int N, int start) { pw[0] = 1; for( int i = 1; i <= 10; i ++ ) pw[i] = pw[i-1] * 2; int w = start; int next_ver = get_next(); while( next_ver != 0 ) { if( used[w] == 0 ) { parent[w] = get_parent(); used[w] = 1; } int lamp = goTo( next_ver ); if( lamp == 1 ) { w = next_ver; next_ver = get_next(w); continue; } if( lamp == 0 ) { w = parent[w]; goTo(parent[w]); } } }

Compilation message (stderr)

speedrun.cpp: In function 'void speedrun(int, int, int)':
speedrun.cpp:109:33: error: too many arguments to function 'int get_next()'
  109 |            next_ver = get_next(w);
      |                                 ^
speedrun.cpp:77:5: note: declared here
   77 | int get_next()
      |     ^~~~~~~~