반응형
https://www.acmicpc.net/problem/16967
배열 복원하기 문제
조건에 맞게 행렬을 복원하는 문제
조건 써있는 그대로 구현하면 쉽게 구현할 수 있는 문제
내가 푼 정답코드
import sys
H, W, X, Y = map(int, sys.stdin.readline().strip().split())
B = [list(map(int, sys.stdin.readline().strip().split())) for _ in range(H+X)]
for i in range(X,H):
for j in range(Y,W):
B[i][j] = B[i][j] - B[i-X][j-Y]
for result in B[:H] :
print(*result[:W])
📌문제 접근 포인트
1. 행렬 A를 2개를 일부를 겹치게 만든 행렬이 행렬 B다.
2. 그렇다면, 애초부터 B 행렬에서 겹치는 부분만 B의 첫 줄부터 하나씩 빼줘나가면 B를 행렬 A 에 이상한 값이 섞이게 만들어줄 수 있다.
3. 여기서 B를 H,W 사이즈로 잘라버리면 완성!
반응형
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[백준 19568] 직사각형 (python) (0) | 2023.03.25 |
---|---|
[백준 1339] 단어 수학 (python) (0) | 2023.03.25 |
[백준 16139] 인간-컴퓨터 상호작용 (python) (0) | 2023.03.23 |
[백준 16918] 봄버맨 (python) (0) | 2023.03.22 |
[백준 17413] 단어 뒤집기 2 (python) (0) | 2023.03.20 |
댓글