문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

1134 : [기초-배열연습] 2차원 차이 배열 만들기

•시간제한: 2.000 S •메모리제한: 128 MB •제출: 33 •통과: 8 •만든사람: suakii

1134 : [기초-배열연습] 2차원 차이 배열 만들기

시간 2.000s · 메모리 128MB · 제출 33 · 정답 8

문제 설명

크기가 $n \times m$인 2차원 리스트 $d[][]$에 대해

$k$개의 구간 $[(x_1, y_1), (x_2, y_2)]$ 와 $u$를 입력 받아,

$d[x_1][y_1] = d[x_1][y_1]+u$;
$d[x_2+1][y_2+1] = d[x_2+1][y_2+1]+u$;

$d[x_1][y_2+1] = d[x_1][y_2+1]-u$;
$d[x_2+1][y_1] = d[x_2+1][y_1]-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 \le n, m \le 1000$, $1 \le k \le 100$, $1 \le x_1 \le x_2 \le n$, $1 \le y_1 \le y_2 \le m$, $-1000 \le u \le 1000$)

출력 설명

$n \times m$ 리스트의 상태를 출력한 후,
줄을 바꿔 2차원 누적합을 계산해 출력한다.

입력 예시
COPY
복사되었습니다!

7 7 4
1 1 2 2 1
2 2 3 3 1
3 3 4 4 1
4 4 5 5 1

출력 예시
COPY
복사되었습니다!

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 

도움

기초100제(c)2 v1.0 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.


[원작자: 전현석, 정종광(확인), 배준호(확인) (2016)]

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘