C로 구현한 1097번 바둑알 십자 뒤집기 문제 풀이입니다.
https://codeup.kr/problem.php?id=1097
#include <stdio.h>
int main() {
int p[20][20] = {0,};
int n, a, b;
for(int i=1; i<=19; i++) {
for(int j=1; j<=19; j++) {
scanf("%d", &p[i][j]);
}
}
scanf("%d", &n);
for(int i=1; i<=n; i++) {
scanf("%d %d", &a, &b);
for(int j=1; j<=19; j++) {
p[a][j] = !p[a][j];
p[j][b] = !p[j][b];
}
}
for(int i=1; i<=19; i++) {
for(int j=1; j<=19; j++) {
printf("%d ", p[i][j]);
}
printf("\n");
}
}
바둑판을 다루기 위해 2차원 배열을 사용한다. 2차원 배열을 사용하면 가로번호, 세로번호를 통해 바둑판 형태의 문제를
쉽게 다룰 수 있다.
첫번째 반복문을 통해 바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력되도록 한다.
그 후 십자 뒤집기 횟수를 의미하는 n을 입력받은 후 두번째 반복문을 통해 십자 뒤집기 좌표가 횟수(n) 만큼 입력되도록 한다.
또한, 입력받은 좌표를 기준으로 가로 줄과 세로 줄의 흑돌 혹은 백돌을 반대로 뒤집는다.
'코드업(CodeUp) 풀이 > C언어 기초 100제' 카테고리의 다른 글
코드업[CodeUp] (C) 1099번 풀이 (0) | 2021.08.23 |
---|---|
코드업[CodeUp] (C) 1098번 풀이 (0) | 2021.08.23 |
코드업[CodeUp] (C) 1096번 풀이 (0) | 2021.08.23 |
코드업[CodeUp] (C) 1095번 풀이 (0) | 2021.08.23 |
코드업[CodeUp] (C) 1094번 풀이 (0) | 2021.08.23 |