728x90
#include <stdio.h>
int main(void)
{
int n, m;
int i, j, k;
int a, b, x, y;
int num, total = 0;
int arr[300][300] = {0}; //배열 넉넉하게 설정하여 런타임에러방지
scanf("%d %d", &n, &m);
for (i = 0; i < n; i++){
for (j = 0; j < m; j++)
scanf("%d", &arr[i][j]);
}
scanf("%d", &num);
for (k = 0; k < num; k++){
scanf("%d %d %d %d", &a, &b, &x, &y);
for (i = a - 1; i <= x - 1; i++){ //배열은 (0,0)부터 시작하지만 문제에선 (1,1)부터 시작하므로 1씩 빼줌
for (j = b - 1; j <= y - 1; j++)
total += arr[i][j]; //각각배열에 있던거 더해주기
}
printf("%d\n", total);
total = 0; //다음 합계를 위해 초기화
}
}
생각보다 쉬운 문제인데 문제를 처음에 못이해해서 조금 시간이 걸렸다.
일단 백준에서 제시하는 조건에 부합하게끔 배열을 잡아줘야 런타임에러가 안걸린다.
그점을 주의하고 나머지를 조금씩 수정하여 풀었다.
total을 초기화안하는 둥 기초적인 실수를 많이 함.
/0127
'programming > 알고리즘 풀이' 카테고리의 다른 글
[백준(Baekjoon)/JAVA] 9012. 괄호 (0) | 2021.01.08 |
---|---|
백준(Baekjoon)_5586번 문제풀이 (2) | 2020.03.02 |
백준(Baekjoon)_11722번 문제풀이 (0) | 2020.02.05 |
백준(Baekjoon)_2163번 문제풀이 (0) | 2020.01.18 |
백준(Baekjoon)_9095번 문제풀이 (0) | 2020.01.14 |
댓글