Submission #347234

#TimeUsernameProblemLanguageResultExecution timeMemory
347234blueCave (IOI13_cave)C++11
Compilation error
0 ms0 KiB
#include <iostream>
#include <vector>
using namespace std;

int tryCombination(int S[]);
void answer(int S[], int D[]);
void exploreCave(int N);


int* S;
int* D;
int* Q;
int n;
//switch_state, switch_door, query

void b_search(int door, int pos, int a, int b)
{
    if(a == b)
    {
        D[a] = door;
        S[a] = pos;
    }
    else
    {
        int m = (a+b)/2;
        for(int i = 0; i < n; i++)
        {
            if(S[i] != -1) Q[i] = S[i];
            else
            {
                if(a <= i && i <= m) Q[i] = pos;
                else Q[i] = !pos;
            }
        }
        int q = tryCombination(Q);
        if(q == door) b_search(door, pos, m+1, b);
        else b_search(door, pos, a, m);
    }
}

void exploreCave(int N)
{
    n = N;
    int s[N], d[N], q[N];
    S = s;
    D = d;
    Q = q;
    for(int i = 0; i < N; i++) S[i] = D[i] = -1;

    for(int door = 0; door < N; door++)
    {
        for(int i = 0; i < N; i++)
        {
            if(S[i] == -1) Q[i] = 0;
            else Q[i] = S[i];
        }
        int q = tryCombination(Q);
        if(q == door)
        {
            //switch_pos of switch connected to door 1 = 1
            b_search(door, 1, 0, N-1);
        }
        else
        {
            b_search(door, 0, 0, N-1);
        }
    }
    answer(s, d);
}

Compilation message (stderr)

/tmp/cclCFvc5.o: In function `main':
grader.c:(.text.startup+0xc): undefined reference to `exploreCave'
/tmp/ccsJWitj.o: In function `b_search(int, int, int, int)':
cave.cpp:(.text+0x8c): undefined reference to `tryCombination(int*)'
/tmp/ccsJWitj.o: In function `exploreCave(int)':
cave.cpp:(.text+0x1a9): undefined reference to `tryCombination(int*)'
cave.cpp:(.text+0x1fb): undefined reference to `answer(int*, int*)'
collect2: error: ld returned 1 exit status