Skip to content

Commit 896fefc

Browse files
committedMay 16, 2024
BOJ_11660 : 구간 합 구하기 5
1 parent cdfac9b commit 896fefc

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import java.io.*;
2+
import java.util.*;
3+
4+
public class Main {
5+
6+
public static void main(String[] args) throws IOException {
7+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
8+
StringTokenizer st = new StringTokenizer(br.readLine());
9+
int N = Integer.parseInt(st.nextToken());
10+
int M = Integer.parseInt(st.nextToken());
11+
int[][] arr = new int[N + 1][N + 1];
12+
for (int i = 1; i <= N; i++) {
13+
st = new StringTokenizer(br.readLine());
14+
for (int j = 1; j <= N; j++) {
15+
arr[i][j] = Integer.parseInt(st.nextToken());
16+
}
17+
}
18+
int[][] d = new int[N + 1][N + 1];
19+
for (int i = 1; i <= N; i++) {
20+
for (int j = 1; j <= N; j++) {
21+
d[i][j] = d[i - 1][j] + d[i][j - 1] - d[i - 1][j - 1] + arr[i][j];
22+
}
23+
}
24+
int x1, y1, x2, y2;
25+
StringBuilder sb = new StringBuilder();
26+
for (int i = 0; i < M; i++) {
27+
st = new StringTokenizer(br.readLine());
28+
x1 = Integer.parseInt(st.nextToken());
29+
y1 = Integer.parseInt(st.nextToken());
30+
x2 = Integer.parseInt(st.nextToken());
31+
y2 = Integer.parseInt(st.nextToken());
32+
sb.append(d[x2][y2] - d[x2][y1 - 1] - d[x1 - 1][y2] + d[x1 - 1][y1 - 1]).append('\n');
33+
}
34+
System.out.print(sb);
35+
}
36+
}

0 commit comments

Comments
 (0)
Please sign in to comment.