https://www.acmicpc.net/problem/11660
์ด์ฌํ ์ข ์ด์ ๊ทธ๋ ค๊ฐ๋ฉด์ ๊ตฌํ๋ ค๊ณ ํ๋๋ฐ ๋๋ฌด ๋ณต์กํ๊ฒ ์๊ฐํ ํ์ธ์ง ๋ชปํ์๋ค. ๊ฒฐ๊ตญ ํด์ค์ ๋ฃ๊ณ ์๊ฒ๋์๋๋ฐ, ๋ด๊ฐ ์ฒ์์ ์ ๊น ์๊ฐํ 'ํ๋ณ๋ก ๋์ ํฉ ๊ตฌํด์ ๋ํ๊ธฐ'๊ฐ ๋ง์๋ค. ์๊ฐ์ด๊ณผ๋ ๊ฒ ๊ฐ์์ ์ํด๋ดค๋๋ฐ..
์๊ฐ์ด๊ณผ ๊ฐ์คํ๊ณ ์๋ํด๋ณด๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ๋ค๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ๊ดํ ์๊ฐ์ด๊ณผ ๋ ๊ฒ ๊ฐ๋ค๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ ์๊ฐํ๋ค๊ฐ ๋ ๋ณต์กํ๊ฒ ์๊ฐํ๊ณ ์๊ฐ๋ง ๋ ๊น๋จน์๋ค.
์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
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[][] dp = new int[N + 1][N + 1];
for(int i = 1; i < N + 1; i++) { //ํ๋ณ ๋์ ํฉ ์ ์ฅ
st = new StringTokenizer(br.readLine());
dp[i][1] = Integer.parseInt(st.nextToken());
for(int j = 2; j < N + 1; j++) {
dp[i][j] = dp[i][j - 1] + Integer.parseInt(st.nextToken());
}
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i < M; i++) {
st = new StringTokenizer(br.readLine());
int x1 = Integer.parseInt(st.nextToken());
int y1 = Integer.parseInt(st.nextToken());
int x2 = Integer.parseInt(st.nextToken());
int y2 = Integer.parseInt(st.nextToken());
int sum = 0;
for(int j = x1; j <= x2; j++) {
sum += dp[j][y2] - dp[j][y1 - 1];
}
sb.append(sum + "\n");
}
System.out.println(sb);
}
}
๊ฒฐ๊ณผ
'Algorithm > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 1158๋ฒ - ์์ธํธ์ค ๋ฌธ์ (0) | 2022.08.08 |
---|---|
๋ฐฑ์ค 2630๋ฒ - ์์ข ์ด ๋ง๋ค๊ธฐ (0) | 2022.08.07 |
๋ฐฑ์ค 12891๋ฒ - DNA ๋น๋ฐ๋ฒํธ (0) | 2022.08.05 |
๋ฐฑ์ค 1931๋ฒ - ํ์์ค ๋ฐฐ์ (0) | 2022.08.05 |
๋ฐฑ์ค 2563๋ฒ - ์์ข ์ด (0) | 2022.08.05 |