문제 해결/CodeUp
[CodeUp] [C++] [기초 100제] 1097번 바둑알 십자 뒤집기
WSLim_97
2022. 12. 6. 22:11
반응형
https://codeup.kr/problem.php?id=1097&rid=0
[기초-2차원배열] 바둑알 십자 뒤집기(설명)
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
코드
#include <iostream>
using namespace std;
int main() {
int a[20][20] = { };
int n, x, y;
for (int i = 1; i < 20; i++) {
for (int j = 1; j < 20; j++) {
cin >> a[i][j];
}
}
cin >> n;
for (int i = 0; i < n; i++) {
cin >> x >> y;
for (int j = 1; j < 20; j++) {
if (a[x][j] == 0) {
a[x][j] = 1;
}
else {
a[x][j] = 0;
}
}
for (int j = 1; j < 20; j++) {
if (a[j][y] == 0) {
a[j][y] = 1;
}
else {
a[j][y] = 0;
}
}
}
for (int i = 1; i < 20; i++) {
for (int j = 1; j < 20; j++) {
cout << a[i][j] << " ";
}
cout << "\n";
}
return 0;
}
풀이
19 * 19 배열을 직접 입력한 뒤 n번 반복하여 지정한 좌표를 중심으로 십자 뒤집기를 한 값을 출력하는 문제이다.
좌표를 지정하여 십자 뒤집기의 기준을 정하면 그 좌표의 x, y값을 이용하여 0이면 1로, 1이면 0으로 뒤집는다.
반응형