본문 바로가기

알고리즘 · 코딩

[SWEA 2001] 파리 퇴치

문제 링크

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


C++ 풀이

#include <iostream>
#include <vector>
using namespace std;

int main() {
	int T, N, M, max_sum;
	cin >> T;
	for (int i = 1; i <= T; i++) {
		max_sum = 0;
		cin >> N >> M;
		vector <vector<int>> board(N);
		for (int j = 0; j < N; j++) {
			board[j].resize(N);
			for (int k = 0; k < N; k++)
				cin >> board[j][k];
		}
		for (int j = 0; j <= N - M; j++) {
			for (int k = 0; k <= N - M; k++) {
				int sum = 0;
				for (int p = j; p < j + M; p++) {
					for (int q = k; q < k + M; q++)
						sum += board[p][q];
				}
				if (sum > max_sum)
					max_sum = sum;
			}
		}
		cout << "#" << i << " " << max_sum << endl;
	}
}

완전 탐색으로 풀었다.

 

 

 

반응형