package backjoon;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main2167 {
public static void main(String[] args) throws IOException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
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());
for (int t = 0; t < k; t++) {
st = new StringTokenizer(br.readLine());
int i = Integer.parseInt(st.nextToken()) - 1;
int j = Integer.parseInt(st.nextToken()) - 1;
int x = Integer.parseInt(st.nextToken()) - 1;
int y = Integer.parseInt(st.nextToken()) - 1;
int sum = 0;
// (i,j)부터 (x,y)까지 더하기
for (int p = i; p <= x; p++) {
for (int q = j; q <= y; q++) {
sum += arr[p][q];
}
}
sb.append(sum + "\n");
}
System.out.print(sb);
}
}
처음에 문제를 접했을때 문제 해석하는데 조금 애를 먹었다.
dp알고리즘을 첨 접해본 나로써는 어찌 풀어야 하는지 부터가 막막하긴 했지만
타 여러 블로그및 개념을 보면서 dp알고리즘이 뭔지 하나 배워간다는 생각으로 문제를 접했다. 공부 할께 진짜 많다.. 끝도 없이 나오는 느낌이다.