최신판 |
당신의 편집 |
1번째 줄: |
1번째 줄: |
| ==개요== | | ==개요== |
| {{SWEA|난이도=2}} | | ;SWEA 2001 파리 퇴치 |
| * N×N 크기의 배열이 주어지고 그 일부분인 M×M 크기의 부분배열의 합의 최대값을 구하는 문제
| | * https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq |
| | |
| | {{SWEA 헤더}} |
| | {{SWEA 난이도 2-1}} |
| | |} |
|
| |
|
| ==C++== | | ==C++== |
| <syntaxhighlight lang='cpp'> | | <source lang='cpp'> |
| #include <iostream>
| | </source> |
| using namespace std;
| |
| int main() {
| |
| int T;
| |
| scanf("%d", &T);
| |
| int N, M;
| |
| int a[15][15];
| |
| for (int tc=1; tc<=T; tc++) {
| |
| scanf("%d", &N);
| |
| scanf("%d", &M);
| |
| for(int i=0; i<N; i++) {
| |
| for(int j=0; j<N; j++) {
| |
| scanf("%d", &a[i][j]);
| |
| }
| |
| }
| |
| int max = 0;
| |
| for(int i=0; i<=N-M; i++) {
| |
| for(int j=0; j<=N-M; j++) {
| |
| int sum = 0;
| |
| for(int k=i; k<i+M; k++) {
| |
| for(int l=j; l<j+M; l++) {
| |
| sum += a[k][l];
| |
| }
| |
| }
| |
| if( sum > max ) max = sum;
| |
| }
| |
| }
| |
| printf("#%d %d\n", tc, max);
| |
| }
| |
| }
| |
| </syntaxhighlight> | |
|
| |
|
| ==Java== | | ==Java== |
| <syntaxhighlight lang='java'> | | <source lang='java'> |
| import java.util.Scanner; | | import java.util.Scanner; |
| class Solution { | | class Solution { |
71번째 줄: |
45번째 줄: |
| } | | } |
|
| |
|
| </syntaxhighlight> | | </source> |