제출 #116259

#제출 시각아이디문제언어결과실행 시간메모리
116259emilem보물 찾기 (CEOI13_treasure2)C++14
48 / 100
7 ms408 KiB
#include "treasure.h"
#include <vector>

void findTreasure(int n)
{
	std::vector<int> rowPref(n + 1);
	for (int i = n; i >= 1; --i)
		if (i >= n - i)
			rowPref[i] = countTreasure(1, 1, i, n);
		else
			rowPref[i] = rowPref[n] - countTreasure(i + 1, 1, n, n);
	std::vector< std::vector<int> > pref(n + 1, std::vector<int>(n + 1, 0));
	for (size_t i = 1; i <= n; ++i)
		for (size_t j = 1; j <= n; ++j)
			if (j >= n - j)
				pref[i][j] = countTreasure(1, 1, i, j);
			else
				pref[i][j] = rowPref[i] - countTreasure(1, j + 1, i, n);
	for (size_t i = 1; i <= n; ++i)
		for (size_t j = 1; j <= n; ++j)
			if (pref[i][j] - pref[i - 1][j] - pref[i][j - 1] + pref[i - 1][j - 1])
				Report(i, j);
}

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

treasure.cpp: In function 'void findTreasure(int)':
treasure.cpp:13:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (size_t i = 1; i <= n; ++i)
                     ~~^~~~
treasure.cpp:14:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (size_t j = 1; j <= n; ++j)
                      ~~^~~~
treasure.cpp:19:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (size_t i = 1; i <= n; ++i)
                     ~~^~~~
treasure.cpp:20:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (size_t j = 1; j <= n; ++j)
                      ~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...