N

(SWEA c++)2001. 파리 퇴치 본문

SW Expert Academy

(SWEA c++)2001. 파리 퇴치

naeunchan 2020. 9. 28. 15:12
728x90
반응형

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq&categoryId=AV5PzOCKAigDFAUq&categoryType=CODE

 

SW Expert Academy

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

swexpertacademy.com

N의 최대 크기는 15이므로 arr[15][15]를 선언하여 값을 채워나간다.

N이 크지 않기 때문에 브루트포스로 4중 for문을 이용.

파리채의 크기를 나타내는 j, k.

파리들의 위치를 나타내는 l, m을 이용하여 배열을 순회하면서 값을 비교해 나가도록 한다.

#include <iostream>

using namespace std;

int main(void)
{
    int t;
    cin >> t;
    
    for(int i = 1; i <= t; i++)
    {
        int M, N, ans = 0, sum = 0;
        int arr[15][15];
        
        cin >> N >> M;
        
        for(int j = 0; j < N; j++)
        {
            for(int k = 0; k < N; k++)
                cin >> arr[j][k];
        }
        
        for(int j = 0; j < N - M + 1; j++)
        {
            for(int k = 0; k < N - M + 1; k++)
            {
                sum = 0;
                for(int l = j; l < j + M; l++)
                {
                    for(int m = k; m < k + M; m++)
                        sum += arr[l][m];
                }
                if(ans < sum)
                    ans = sum;
            }
        }
        cout << "#" << i << " " << ans << endl;
    }
    return 0;
}
                
            
728x90
반응형