Submission #235333

#TimeUsernameProblemLanguageResultExecution timeMemory
235333crossing0ver동굴 (IOI13_cave)C++17
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>
#include "cave.h"
using namespace std;
int n,type[5005],P[5000],oc[5000],C[5000];

int  ask(int S[]) {
	int x =  tryCombination(S);
	if (x == -1) x = n;
	return x;
}

void get_type (int pos,int &A[]) {
	int l = 0, r = n - 1;
	int x = ask(A);
	if (pos <= x) type[pos] = 0,A[pos] = 0;
			else type[pos] = 1, A[pos] = 1;
	
	while (l != r) {
		int m = (l + r)/2;
		for (int i = l; i <= m; i++) if (!oc[i]) A[i]^=1;
		int x = ask(A);
		if (pos <= x) {
			l = m + 1;		
		}
		else r = m;
		for (int i = pos; i <= m; i++) if (!oc[i]) A[i]^=1;
	}
/*	if (l == r - 1) {
		if (oc[l]) x = r;
		else if (oc[r]) x = l;
		else {
			A[l]^=1;
			int t = ask(A);
			if (pos <= t) x = r;
			else x = l;
			A[l]^=1; 
		}
	}     */
	x = l;
	oc[x] = 1;
	C[x] = type[pos]; 
	P[x] = pos;
} 


void exploreCave(int N) {
	n = N;
	int A[n];
	memset(A,0,sizeof A);
	for (int i = 0;i < n; i++) {
		get_type(i,A);
	}
	int S[N],D[N];
	for (int i = 0; i < n; i++)
		S[i] = C[i], 
		D[i] = P[i];
	answer(S, D);
		
}

Compilation message (stderr)

cave.cpp:12:31: error: declaration of 'A' as array of references
 void get_type (int pos,int &A[]) {
                               ^
cave.cpp: In function 'void get_type(...)':
cave.cpp:14:14: error: 'A' was not declared in this scope
  int x = ask(A);
              ^
cave.cpp:15:6: error: 'pos' was not declared in this scope
  if (pos <= x) type[pos] = 0,A[pos] = 0;
      ^~~
cave.cpp:15:6: note: suggested alternative: 'pow'
  if (pos <= x) type[pos] = 0,A[pos] = 0;
      ^~~
      pow
cave.cpp:22:7: error: 'pos' was not declared in this scope
   if (pos <= x) {
       ^~~
cave.cpp:22:7: note: suggested alternative: 'pow'
   if (pos <= x) {
       ^~~
       pow
cave.cpp:26:16: error: 'pos' was not declared in this scope
   for (int i = pos; i <= m; i++) if (!oc[i]) A[i]^=1;
                ^~~
cave.cpp:26:16: note: suggested alternative: 'pow'
   for (int i = pos; i <= m; i++) if (!oc[i]) A[i]^=1;
                ^~~
                pow
cave.cpp:41:14: error: 'pos' was not declared in this scope
  C[x] = type[pos]; 
              ^~~
cave.cpp:41:14: note: suggested alternative: 'pow'
  C[x] = type[pos]; 
              ^~~
              pow