Submission #40779

#TimeUsernameProblemLanguageResultExecution timeMemory
40779hsb154Treasure (different grader from official contest) (CEOI13_treasure2)C++14
22 / 100
2 ms624 KiB


#include "treasure.h"
int countTreasure(int r1, int c1, int r2, int c2);
void Report(int r, int c);
bool map[101][101];
void bSearch(int row, int left, int right,int cnt) {
		if (left == right) {
				map[row][left] = 1;
				return;
		}
	
		int mid = (left + right) / 2;
		int cnt1 = countTreasure(row, left, row, mid);
		if ( cnt1> 0)
				bSearch(row, left, mid,cnt1);
		int cnt2 = cnt - cnt1;
		if (cnt2 > 0)
			bSearch(row, mid + 1, right, cnt2);
	
		
}
void findTreasure(int N) {
		for (int i = 1; i <= N; i++) {
			int cnt = countTreasure(i, 1, i, N);
			bSearch(i, 1, N,cnt);
		}
		for (int i = 1; i <= N; i++) {
				for (int j = 1; j <= N; j++) {
						if (map[i][j] == 1)
								Report(i, j);
			
		}
		
	}
	
}

Compilation message (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...