1140: [기초-배열연습] 2차원 차이 배열 만들기
메모리제한:
128 MB
시간제한:
1.000 S
체점 스타일:
텍스트 비교
만든사람:
제출:
1
통과:
0
문제 설명
크기가 n*m인 2차원 배열 d[][]에 대해
k개의 구간 [(x1, y1), (x2, y2)] 와 u를 입력 받아,
d[x1][y1] = d[x1][y1]+u;
d[x2+1][y2+1] = d[x2+1][y2+1]+u;
d[x1][y2+1] = d[x1][y2+1]-u;
d[x2+1][y1] = d[x2+1][y1]-u;
를 수행한 후, 누적 합을 만들어 출력해보자.
크기가 7*7이고,
4개의 구간 데이터
1 1 2 2 1
2 2 3 3 1
3 3 4 4 1
4 4 5 5 1
가 입력되면
2차원 배열의 상태는
1 0 -1 0 0 0 0
0 1 0 -1 0 0 0
-1 0 2 0 -1 0 0
0 -1 0 2 0 -1 0
0 0 -1 0 1 0 0
0 0 0 -1 0 1 0
0 0 0 0 0 0 0
가 되며
그 누적합을 계산하면 아래와 같다.
1 1 0 0 0 0 0
1 2 1 0 0 0 0
0 1 2 1 0 0 0
0 0 1 2 1 0 0
0 0 0 1 1 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
k개의 구간 [(x1, y1), (x2, y2)] 와 u를 입력 받아,
d[x1][y1] = d[x1][y1]+u;
d[x2+1][y2+1] = d[x2+1][y2+1]+u;
d[x1][y2+1] = d[x1][y2+1]-u;
d[x2+1][y1] = d[x2+1][y1]-u;
를 수행한 후, 누적 합을 만들어 출력해보자.
크기가 7*7이고,
4개의 구간 데이터
1 1 2 2 1
2 2 3 3 1
3 3 4 4 1
4 4 5 5 1
가 입력되면
2차원 배열의 상태는
1 0 -1 0 0 0 0
0 1 0 -1 0 0 0
-1 0 2 0 -1 0 0
0 -1 0 2 0 -1 0
0 0 -1 0 1 0 0
0 0 0 -1 0 1 0
0 0 0 0 0 0 0
가 되며
그 누적합을 계산하면 아래와 같다.
1 1 0 0 0 0 0
1 2 1 0 0 0 0
0 1 2 1 0 0 0
0 0 1 2 1 0 0
0 0 0 1 1 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
입력 설명
첫 번째 줄에 배열의 크기 n, m과 구간의 개수 k가 공백을 두고 입력된다.
두 번째 줄부터 k개의 데이터가 공백을 두고 입력된다.
[입력값의 정의역]
1 <= n, m <=1000
1 <= k <= 100
1 <= x1 <= x2 <= n
1 <= y1 <= y2 <= m
-1000 <= u <= 1000
두 번째 줄부터 k개의 데이터가 공백을 두고 입력된다.
[입력값의 정의역]
1 <= n, m <=1000
1 <= k <= 100
1 <= x1 <= x2 <= n
1 <= y1 <= y2 <= m
-1000 <= u <= 1000
출력 설명
n*m 배열의 상태를 출력한 후,
줄을 바꿔 2차원 누적합을 계산해 출력한다.
줄을 바꿔 2차원 누적합을 계산해 출력한다.
입력 예시 복사
7 7 4
1 1 2 2 1
2 2 3 3 1
3 3 4 4 1
4 4 5 5 1
출력 예시 복사
1 0 -1 0 0 0 0
0 1 0 -1 0 0 0
-1 0 2 0 -1 0 0
0 -1 0 2 0 -1 0
0 0 -1 0 1 0 0
0 0 0 -1 0 1 0
0 0 0 0 0 0 0
1 1 0 0 0 0 0
1 2 1 0 0 0 0
0 1 2 1 0 0 0
0 0 1 2 1 0 0
0 0 0 1 1 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
도움
C언어기초100제++v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회
- 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.
- 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.