728x90
https://www.acmicpc.net/problem/16967
처음엔 A배열 B배열 따로 해서 쭉 보면서 해야 되나.. 했는데
생각해보니 B배열은 A배열보다 행으로 X, 열로 Y만큼 추가된 사이즈다.
B배열에서 x, y부터 h, w 속 원소는 A와 A가 겹친 부분이다. 그러므로 이 부분을 앞 A의 값을 빼주면 된다.
#include <iostream>
#include <algorithm>
using namespace std;
int h, w, x, y;
int a[601][601];
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> h >> w >> x >> y;
for(int i=0; i<h+x; i++) for(int j=0; j<w+y; j++) cin >> a[i][j];
for(int i=x; i<h; i++) for(int j=y; j<w; j++) a[i][j] -= a[i-x][j-y];
for(int i=0; i<h; i++){
for(int j=0; j<w; j++)
cout << a[i][j] << ' ';
cout << '\n';
}
return 0;
}
728x90