Coding - Algo/Java
[SWEA] 2001번:파리퇴치 (Java 자바)
jainn
2021. 8. 4. 16:58
728x90
풀이 및 소스코드
시간이 충분할 것 같아서 완전탐색으로 mxm 구역별 합계를 구해준 다음, 최댓값을 뽑아냈다.
import java.io.*;
import java.util.StringTokenizer;
public class Solution {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
int t = Integer.parseInt(br.readLine());
for(int tc=1;tc<=t;tc++) {
st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[][] map = new int[n][n];
for(int i=0;i<n;i++) {
st = new StringTokenizer(br.readLine());
for(int j=0;j<n;j++) {
map[i][j] = Integer.parseInt(st.nextToken());
}
}
int max =0;
int sum=0;
for(int i=0;i<=n-m;i++) {
for(int j=0;j<=n-m;j++) {
sum=0;
for(int k=0;k<m;k++) {
for(int l=0;l<m;l++)
sum+=map[i+k][j+l];
}
max = Math.max(sum, max);
}
}
sb.append("#"+tc+" "+max+"\n");
}
System.out.println(sb);
}
}
반응형