Submission #336895

# Submission time Handle Problem Language Result Execution time Memory
336895 2020-12-17T07:45:37 Z blue Cave (IOI13_cave) C++11
Compilation error
0 ms 0 KB
#include "cave.h"
#include <iostream>
#include <vector>
using namespace std;

int* S;
int* D;
int* Q;
//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)
{
    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

cave.cpp: In function 'void b_search(int, int, int, int)':
cave.cpp:21:28: error: 'N' was not declared in this scope
   21 |         for(int i = 0; i < N; i++)
      |                            ^