๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/2167)
< 2์ฐจ์ ๋ฐฐ์ด์ ํฉ >
๋ฌธ์ ํ์ด
(i, j) ์์น๋ถํฐ (x, y) ์์น๊น์ง์ ์ ์ฅ๋์ด ์๋ ์๋ค์ ํฉ์ ๊ตฌํ๊ธฐ ์ํด์๋ ๋ฏธ๋ฆฌ ๋์ ํฉ์ ๊ตฌํด๋๋ค.
๋์ ํฉ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
2๋ฒ์ ๋์ ํฉ์ [2 = 1+2๋ฒ์ ๊ฐ], 3๋ฒ์ ๋์ ํฉ์ [3 = 1+3๋ฒ์ ๊ฐ]์ด๋ค.
(0,0)๋ถํฐ (1,1)๊น์ง ๋์ ํฉ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ [4 = 3+2-1+4๋ฒ์ ๊ฐ]์ด๋ค.
๋์ ํฉ์ ๊ตฌํ ๋ฐฐ์ด์์ ๋นจ๊ฐ ๋ฐ์ค ์์ญ์ ๋์ด๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ [๋์ด = 12-10-4+2]์ด๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class _2167_ { // 2์ฐจ์ ๋ฐฐ์ด์ ํฉ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int arr[][] = new int[n + 1][m + 1];
for (int i = 1; i <= n; i++) {
st = new StringTokenizer(bf.readLine());
for (int j = 1; j <= m; j++) {
int num = Integer.parseInt(st.nextToken());
arr[i][j] = arr[i - 1][j] + arr[i][j - 1] - arr[i - 1][j - 1] + num;
}
}
int k = Integer.parseInt(bf.readLine());
for (int l = 0; l < k; l++) {
st = new StringTokenizer(bf.readLine());
int i = Integer.parseInt(st.nextToken());
int j = Integer.parseInt(st.nextToken());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
int sum = arr[x][y] - arr[i - 1][y] - arr[x][j - 1] + arr[i - 1][j - 1];
bw.write(sum + "\n");
}
bw.flush();
}
}
๋ณ์)
n, m : ๋ฐฐ์ด์ ํฌ๊ธฐ
arr : ๋ฐฐ์ด์ ๋์ ํฉ
k : ํฉ์ ๊ตฌํ ๋ถ๋ถ์ ๊ฐ์
i, j, x, y : ํฉ์ ๊ตฌํ ์์ญ
๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ๋ฐฐ์ด์ ํฌ๊ธฐ๋งํผ ๋ฐฐ์ด์ ๊ฐ์ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ ๋์ ํฉ์ ๋ฐ๋ก ๊ตฌํ๋ค. ํฉ์ ๊ตฌํ ๋ถ๋ถ์ ๊ฐ์ k๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ํฉ์ ๊ตฌํ ์์ญ i, j, x, y๋ฅผ ์ ๋ ฅ๋ฐ์ ์์ญ์ ํฉ์ ๊ตฌํ ํ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 2594_๋์ด๊ณต์ (0) | 2024.03.28 |
---|---|
[Baekjoon] 1730_ํํ (1) | 2024.03.27 |
[Baekjoon] 27172_์ ๋๋๊ธฐ ๊ฒ์ (0) | 2024.03.25 |
[Baekjoon] 10434_ํ๋ณตํ ์์ (1) | 2024.03.22 |
[Baekjoon] 6219_์์์ ์๊ฒฉ (0) | 2024.03.21 |