제출 #108967

#제출 시각아이디문제언어결과실행 시간메모리
108967Nodir_Bobiev동굴 (IOI13_cave)C++14
컴파일 에러
0 ms0 KiB
# include "cave.h"
# include <iostream>

using namespace std;
/*
int n, a[5000], b[5000];
/**/

int A[5000], B[5000], counter;
/*
void answer( int S[], int D[] )
{
	for ( int i = 0; i < n; i ++ )
		cout << S[i] << ' ';
	cout << endl;
	for ( int i = 0; i < n; i ++ )
		cout << D[i] << ' ';
	cout << endl;
	cout << "counter : " << counter << endl;
}
	
int tryCombination( int S[] )
{
	counter ++;
	for ( int i = 0; i < n; i ++ )
		cout << S[i] << ' ';
	int ans = -1;
	for ( int i = 0; i < n; i ++ ){
		if ( S[ b[i] ] != a[ b[i] ] ){
			ans = i;
			break;
		}	
	}
	cout << ": " << ans << endl;
	return ans;
}

/**/

void exploreCave( int N )
{
	int S[5000] = {};
	
	for ( int i = 0; i < n; i ++ ){
		
		for ( int j = 0; j < n; j ++ )	S[j] = A[j];
		
		int cs = tryCombination( S );
			
		int open = (cs == i ), l = 0, r = n - 1;
		
		while( r > l  ){
			
			int m = ( l + r ) >> 1;
			
			for ( int j = 0; j < n; j ++ ) S[j] = open;
			
			for ( int j = l; j <= m; j ++ )	S[j] = 1 - open;
			
			for ( int j = 0; j < i; j ++ )	S[ B[j] ] = A[ B[j] ];
				
			int cs = tryCombination( S );
			
			(cs == i ? (r = m) : (l = m + 1) );
		}
		A[ ( B[i] = l ) ] = open;	
	}
	answer( A, B );
}

/*
int main()
{
	cin >> n;
	
	for ( int i = 0; i < n; i ++ )
		cin >> a[i];
		
	for ( int i = 0; i < n; i ++ )
		cin >> b[i];
	
	exploreCave( n );
	
	return 0;
}

/**/

컴파일 시 표준 에러 (stderr) 메시지

cave.cpp:7:1: warning: "/*" within comment [-Wcomment]
 /**/
  
cave.cpp:38:1: warning: "/*" within comment [-Wcomment]
 /**/
  
cave.cpp:87:1: warning: "/*" within comment [-Wcomment]
 /**/
  
cave.cpp: In function 'void exploreCave(int)':
cave.cpp:44:23: error: 'n' was not declared in this scope
  for ( int i = 0; i < n; i ++ ){
                       ^