답안 #4531

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
4531 2013-10-21T16:20:20 Z kriii 보물 찾기 (CEOI13_treasure2) C++
0 / 100
76 ms 262144 KB
#include "treasure.h"

int R[105][105];

void go(int sx, int sy, int ex, int ey, int count)
{
	if (count == 0) return;
	if ((ex - sx + 1) * (ey - sy + 1) == count){
		int i,j;

		for (i=sx;i<=ex;i++) for (j=sy;j<=ey;j++) R[i][j] = 1;
		return;
	}

	int m,c;

	if (ex - sx >= ey - sy){
		m = (ex + sx) / 2;
		c = countTreasure(sx,sy,m,ey);
		go(sx,sy,m,ey,c);
		go(m+1,sy,ex,ey,count-c);
	}
	else{
		m = (ey + sy) / 2;
		c = countTreasure(sx,sy,ex,m);
		go(sx,sy,ex,m+1,c);
		go(sx,m+1,ex,ey,count-c);
	}
}

void findTreasure (int N)
{
	int i,j;
	for (i=1;i<=N;i++) for (j=1;j<=N;j++) R[i][j] = 0;
	go(1,1,N,N,countTreasure(1,1,N,N));
	for (i=1;i<=N;i++) for (j=1;j<=N;j++) if(R[i][j] == 1) Report(i, j);
}

Compilation message

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)");
                                  ^
# 결과 실행 시간 메모리 Grader output
1 Memory limit exceeded 56 ms 262144 KB Memory limit exceeded
2 Memory limit exceeded 59 ms 262144 KB Memory limit exceeded
3 Memory limit exceeded 39 ms 262144 KB Memory limit exceeded
4 Memory limit exceeded 76 ms 262144 KB Memory limit exceeded
5 Memory limit exceeded 53 ms 262144 KB Memory limit exceeded
6 Memory limit exceeded 46 ms 262144 KB Memory limit exceeded
7 Memory limit exceeded 63 ms 262144 KB Memory limit exceeded
8 Memory limit exceeded 66 ms 262144 KB Memory limit exceeded
9 Memory limit exceeded 63 ms 262144 KB Memory limit exceeded
10 Memory limit exceeded 73 ms 262144 KB Memory limit exceeded