https://www.acmicpc.net/problem/14500
14500๋ฒ: ํ ํธ๋ก๋ฏธ๋ ธ
ํด๋ฆฌ์ค๋ฏธ๋ ธ๋ ํฌ๊ธฐ๊ฐ 1×1์ธ ์ ์ฌ๊ฐํ์ ์ฌ๋ฌ ๊ฐ ์ด์ด์ ๋ถ์ธ ๋ํ์ด๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค. ์ ์ฌ๊ฐํ์ ์๋ก ๊ฒน์น๋ฉด ์ ๋๋ค. ๋ํ์ ๋ชจ๋ ์ฐ๊ฒฐ๋์ด ์์ด์ผ ํ๋ค. ์ ์ฌ๊ฐํ์ ๋ณ
www.acmicpc.net
1. ๋ฌธ์
NxM ํฌ๊ธฐ์ map์์ ๋ค์๊ณผ ๊ฐ์ 5์ข ๋ฅ์ ํ ํธ๋ก๋ฏธ๋ ธ๋ฅผ ์ ์ ํ ๋์์ ๋ ๋์ธ ์นธ์ ์ฐ์ฌ ์๋ ์๋ค์ ํฉ์ด ์ต๋๊ฐ ๋ ๋์ ํฉ์ ์ถ๋ ฅํ๋ค.
2. ํ์ด
์ด ๋ฌธ์ ๋ ์ ํ์ฑ์ ์๊ตฌํ๋ค. ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ์ฐพ์์ ๋ฐฐ์ด์ ๋ง๋ค์ด์ผ ํ๋ค.
๊ฒฝ์ฐ์ ์ ํ๋๋ผ๋ ๋น ์ง๋ฉด ๋ฐ๋ก ์ค๋ต ์ฒ๋ฆฌ๊ฐ ๋๋ค.
3. ์ฝ๋
import java.io.*;
import java.util.*;
public class Main {
static int N, M, max, map[][];
static int[][] dy = {
{0,0,0,0},
{0,1,2,3},
{0,0,1,1},
{0,0,0,-1},
{0,0,0,1},
{0,1,2,2},
{0,1,2,2},
{0,1,1,1},
{0,0,1,2},
{0,0,0,1},
{0,0,1,2},
{0,1,1,2},
{0,1,1,2},
{0,0,1,1},
{0,0,-1,-1},
{0,-1,-1,-1},
{0,-1,0,1},
{0,1,1,1},
{0,-1,0,1}
};
static int[][] dx = {
{0,1,2,3},
{0,0,0,0},
{0,1,0,1},
{0,1,2,2},
{0,1,2,2},
{0,0,0,-1},
{0,0,0,1},
{0,0,1,2},
{0,1,1,1},
{0,-1,-2,-2},
{0,-1,-1,-1},
{0,0,-1,-1},
{0,0,1,1},
{0,1,1,2},
{0,1,1,2},
{0,-1,0,1},
{0,1,1,1},
{0,-1,0,1},
{0,-1,-1,-1}
};
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
map = new int[N][M];
for (int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine());
for (int j=0; j<M; j++) {
map[i][j] = Integer.parseInt(st.nextToken());
}
}
// ์
๋ ฅ ๋
int len = dy.length;
max = Integer.MIN_VALUE;
for (int y=0; y<N; y++) {
for (int x=0; x<M; x++) {
for (int i=0; i<len; i++) {
int sum = 0;
for (int d=0; d<4; d++) {
int ny = y+dy[i][d];
int nx = x+dx[i][d];
if (ny<0 || ny>=N || nx<0 || nx>=M) continue;
sum += map[ny][nx];
}
max = Math.max(max, sum);
}
}
}
System.out.println(max);
}
}
4. ์ฌ๋ด
์ฌ๋ฐ์๋ค. ๋นก๊ตฌํ ๋ฌธ์ ์น๊ณค ๋ก์ง์ด ๋ณต์กํ ๊ฒ์ ์๋์์ผ๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋น ์ง์์ด ์ฐพ์์ผ ํ๋ ๋ ธ๊ฐ๋ค์ฑ ๋ฌธ์ ์๋ค.
์ดํ ๊ฑธ๋ ธ์ง๋ง ์ฌ๋ฐ์๋ค..
'Algorithm > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 14889 ์คํํธ์ ๋งํฌ - Java (0) | 2023.10.19 |
---|---|
[BOJ] 14888 ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ - Java (0) | 2023.10.19 |
[BOJ] 14499 ์ฃผ์ฌ์ ๊ตด๋ฆฌ๊ธฐ - Java (1) | 2023.10.17 |
[BOJ] 21610 ๋ง๋ฒ์ฌ ์์ด์ ๋น๋ฐ๋ผ๊ธฐ - Java (0) | 2023.10.14 |
[BOJ] 1182 ๋ถ๋ถ์์ด์ ํฉ - Java (1) | 2023.09.16 |