[ํํธ ๋ฌธ์ 3-2] 2์ฐจ์ ๋ฐฐ์ด์ ํฉ
2์ฐจ์ ๋ฐฐ์ด์ ํฉ
๋ฌธ์
2์ฐจ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ก์ ๋ (i, j) ์์น๋ถํฐ (x, y) ์์น๊น์ง์ ์ ์ฅ๋์ด ์๋ ์๋ค์ ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ฐฐ์ด์ (i, j) ์์น๋ iํ j์ด์ ๋ํ๋ธ๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฐฐ์ด์ ํฌ๊ธฐ N, M(1 ≤ N, M ≤ 300)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ M๊ฐ์ ์ ์๋ก ๋ฐฐ์ด์ด ์ฃผ์ด์ง๋ค. ๋ฐฐ์ด์ ํฌํจ๋์ด ์๋ ์๋ ์ ๋๊ฐ์ด 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ๊ทธ ๋ค์ ์ค์๋ ํฉ์ ๊ตฌํ ๋ถ๋ถ์ ๊ฐ์ K(1 ≤ K ≤ 10,000)๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ K๊ฐ์ ์ค์๋ ๋ค ๊ฐ์ ์ ์๋ก i, j, x, y๊ฐ ์ฃผ์ด์ง๋ค(1 ≤ i ≤ x ≤ N, 1 ≤ j ≤ y ≤ M).
์ถ๋ ฅ
K๊ฐ์ ์ค์ ์์๋๋ก ๋ฐฐ์ด์ ํฉ์ ์ถ๋ ฅํ๋ค. ๋ฐฐ์ด์ ํฉ์ 231-1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
์์ ์ ๋ ฅ 1
2 3
1 2 4
8 16 32
3
1 1 2 3
1 2 1 2
1 3 2 3
์์ ์ถ๋ ฅ 1
63
2
36
<<ํ์ด>>
package sec01.hint3_1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class pjh_2์ฐจ์๋ฐฐ์ด์ํฉ {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int[][] arr = new int[N][M];
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
for (int j = 0; j < M; j++) {
arr[i][j] = Integer.parseInt(st.nextToken());
}
}
int k = Integer.parseInt(br.readLine());
while (k-- > 0){
st = new StringTokenizer(br.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 = 0;
for (int l = i - 1; l < x; l++) {
for (int m = j - 1; m < y ; m++) {
sum += arr[l][m];
}
}
System.out.println(sum);
}
}
}
StringTokenizer ํด๋์ค์ nextToken ๋ฉ์๋์ ๋ํด ์ถฉ๋ถํ ์๊ณ ์๋ค๋ฉด ์ฝ๊ฒ ํ ๋ฌธ์ ์ด๋ค.
'์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํํธ ๋ฌธ์ 3-4] ์ ํ (1) | 2023.10.06 |
---|---|
[ํํธ ๋ฌธ์ 3-3] ์๋ค์ ํฉ2 (0) | 2023.10.06 |
[ํํธ ๋ฌธ์ 3-1] ํฐ๋ฆฐ๋๋กฌ (1) | 2023.10.05 |
[ํํธ ๋ฌธ์ 2-4] ๋ฌธ์์ด (0) | 2023.09.27 |
[ํํธ ๋ฌธ์ 2-3] ๊ตฌํ (0) | 2023.09.27 |
๋๊ธ