https://www.acmicpc.net/problem/16967
X์นธ, Y์นธ ์ฉ ๋ฐ๋ ค ๊ฒน์ณ์ง ๋ฐฐ์ด์ ๋ณด๊ณ ์๋ ๋ฐฐ์ด์ ๊ตฌํ๋ค.
์๋ ๋ฐฐ์ด A๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๋ค
A๋ฅผ B์์ ๊ฐ์ ์์น์์ ๋ณต์ฌํ๋ค
X์นธ, Y์นธ์ฉ ์ฌ๋ผ์ด๋ฉ ๋ ์์น์ B์์ A์ ๊ฐ์ ๋บ ๊ฐ์ ์ ์ฅํ๋ค
import sys
input = sys.stdin.readline
H, W, X, Y = map(int, input().split())
B=[]
for i in range(0,H + X):
B_row = list(map(int, input().split()))
B.append(B_row)
#1. A๋ฅผ 0์ผ๋ก ์ด๊ธฐํ
A= [[0 for j in range(W)] for i in range(H)]
#2. A๋ฅผ B์์ ๊ฐ์ ์์น์์ ๋ณต์ฌfor i in range(0, H):
for j in range(0, W):
A[i][j]=B[i][j]
#์๋๋ก X์นธ, ์์ผ๋ก Y์นธ (์์ด X๊ฐ ์๋ ์ฃผ์)#3. ๊ฒน์น๋ ๋ถ๋ถ์ A ๋นผ๊ธฐfor i in range(X, H):
for j in range(Y, W):
A[i][j]=B[i][j]-A[i-X][j-Y]
#5. ์ถ๋ ฅfor i in A:
for j in i:
print(j, end=' ')
print('')
# ๋ด๊ฐ ๋ง๋ ํ
์คํธ ์ผ์ด์ค# 3 3 1 1# 1 2 3 0# 4 6 8 3# 7 12 14 6# 0 7 8 9
for๋ฌธ์ ์ด์ค์ผ๋ก ์ฌ์ฉํ๋ฏ๋ก O(N^2)
ํ์ด์ฌ์์ ์ด์ค๋ฐฐ์ด์ ์ด๊ธฐํ ํ ๋,
A= [[0]*H]*W๋ก ์ ์ธํ๋ฉด ๋ฐฐ์ด์ด ๋ณต์ฌ๋๋ฏ๋ก ๋ค๋ฅธ ์นธ์ ๊ฐ์ ๋ฐ๊พธ๋ฉด ๊ทธ ์ด์ ๋ชจ๋ ๊ฐ์ด ๋ฐ๋๋ ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
A= [[0 for j in range(W)] for i in range(H)] ๋ก for๋ฌธ์ ์ด์ฉํด์ ์ ์ธํด์ผํ๋ค.