[BOJ] 16967 배열 복원하기(구현)
1. 문제
https://www.acmicpc.net/problem/16967
2. 아이디어
구현 방법을 구상하며 그린 그림은 아래와 같다.
3. 풀이과정
1) ⭕RIGHT⭕
- 코드
#include <iostream>
using namespace std;
#define MAX 301
int H, W, X, Y;
int A[MAX][MAX] = { 0, };
int B[2 * MAX][2 * MAX] = { 0, };
void solve() {
// 겹치지 않는 X개 행 채우기
for (int i = 0; i < X; ++i) {
for (int j = 0; j < W; ++j) {
A[i][j] = B[i][j];
}
}
// 겹치지 않는 Y개 열 채우기
for (int i = X; i < H; ++i) {
for (int j = 0; j < Y; ++j) {
A[i][j] = B[i][j];
}
}
// 겹치는 부분 채우기
for (int i = X; i < H; ++i) {
for (int j = Y; j < W; ++j) {
A[i][j] = B[i][j] - A[i - X][j - Y];
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
// 선언 및 입력
cin >> H >> W >> X >> Y;
for (int i = 0; i < H + X; ++i) {
for (int j = 0; j < W + Y; ++j) {
cin >> B[i][j];
}
}
// 문제 풀기
solve();
// 출력 및 종료
for (int i = 0; i < H; ++i) {
for (int j = 0; j < W; ++j) {
cout << A[i][j] << ' ';
}
cout << '\n';
}
return 0;
}
Author And Source
이 문제에 관하여([BOJ] 16967 배열 복원하기(구현)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pyh-dotcom/BOJ-16967-배열-복원하기구현저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)