제출 #41220

#제출 시각아이디문제언어결과실행 시간메모리
41220wzy보물 찾기 (CEOI13_treasure2)C++11
10 / 100
2 ms580 KiB
#include "treasure.h"

bool ans[110][110];


void solve(int x1 , int x2 , int y1 , int y2){
	int p = countTreasure(x1, y1 , x2 , y2);
	if(p == 0){
		return;
	}
	else{
		if(p == (x2 - x1 + 1)*(y2 - y1 + 1)){
			for(int i = x1 ; i <= x2 ; i++){
				for(int j = y1 ; j <= y2 ; j++) ans[i][j] |=1;
			}
			return;
		}
		else{
			solve(x1 , (x1+x2)/2 , y1 , (y1+y2)/2);
			solve(x1 , (x1 + x2)/2 , (y1 + y2)/2 + 1 , y2);
			solve((x1 + x2)/2 + 1 , x2 , y1  , (y1 + y2)/2);
			solve((x1 + x2)/2 + 1 , x2 , (y1 + y2)/2 + 1 , y2);
		}
	}
}


void findTreasure (int N) {
	solve(1 , N , 1 , N);
   for(int i = 1 ; i <= N ; i++){
   		for(int j = 1 ; j <= N ; j++){
   			if(ans[i][j]) Report(i,j);
   		}
   }
}

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

grader.c: In function 'int main()':
grader.c:63:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         my_assert(strlen(A[i]+1) == N, "each line of the map must contain N zeroes or ones (before loop)");
                                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...