관리 메뉴

Kim's Programming

2001. 파리 퇴치 본문

SW ExpertAcademy/D2

2001. 파리 퇴치

Programmer. 2018. 12. 1. 15:36

2001. 파리 퇴치

문제출처: https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq&categoryId=AV5PzOCKAigDFAUq&categoryType=CODE




풀이 방법



<코드>


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

int CheckTotal(int* pointer, int nSize, int mSize)
{
	int sum{ 0 };

	for (int i = 0; i < mSize; i++)
		for (int j = 0; j < mSize; j++)
			sum += *(pointer + (nSize * i) + j);

	return sum;
}

int main(int argc, char** argv)
{
	std::ios::sync_with_stdio(false);
	std::cout.tie(nullptr);
	std::cin.tie(nullptr);

	int test_case;
	int T;
	cin >> T;

	for (test_case = 1; test_case <= T; ++test_case)
	{
		int nValue{ 0 }, mValue{ 0 };
		std::cin >> nValue >> mValue;

		int* dataArray = new int[nValue*nValue];
		for (int i = 0; i < nValue; i++)
			for (int j = 0; j < nValue; j++)
				std::cin >> dataArray[i*nValue + j];

		int max{ 0 };
		for (int i = 0; i < nValue - mValue + 1; i++)
			for (int j = 0; j < nValue - mValue + 1; j++)
			{
				int sum = CheckTotal(&dataArray[i*nValue + j], nValue, mValue);
				if (max < sum)
					max = sum;
			}

		std::cout << "#" << test_case << " " << max << "\n";
		delete[] dataArray;
	}
}

'SW ExpertAcademy > D2' 카테고리의 다른 글

2007. 패턴 마디의 길이  (0) 2018.12.01
2005. 파스칼의 삼각형  (0) 2018.12.01
1989. 초심자의 회문 검사  (0) 2018.12.01
1986. 지그재그 숫자  (0) 2018.12.01
1984. 중간 평균값 구하기  (0) 2018.12.01