250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 코딩테스트
- MySQL
- 코테 준비
- 코테 대비
- 백준
- BFS
- 프로그래머스
- 알고리즘
- readingbook
- STUDYENGLISH
- PyQt
- 직무면접
- SQL
- the midnight library
- 원서읽자
- 알고리즘 문제
- sw expert academy
- 원서
- 원서읽기
- sw expert
- englishbook
- swexpertacademy
- 삼성
- 코테
- 완전탐색
- nightroutine
- English
- D4
- 쉬운 알고리즘 문제
- dfs
Archives
- Today
- Total
시나브로
14891. 톱니바퀴 본문
728x90
#include <iostream>
using namespace std;
int check[6] = { 0 }; //돌려야되는 것을 체크
int wheel[6][10] = { 0 };
void right(int i) { // 오른쪽에 돌려야 되는 것이 있는 지 확인한다.
if (i ==5)
return;
if (wheel[i - 1][2] != wheel[i][6]) {
if (check[i - 1] == -1)
check[i] = 1;
else
check[i] = -1;
right(i + 1);
}
}
void left(int i) { // 왼쪽에 돌려야되는 것이 잇는 지 확인한다.
if (i == 0)
return;
if (wheel[i + 1][6] != wheel[i][2]) {
if (check[i + 1] == -1)
check[i] = 1;
else
check[i] = -1;
left(i - 1);
}
}
void rotation(int i, int r) {
int temp = 0;
if (r == 1) {
temp = wheel[i][7];
for (int k =7; k >0; k--) {
wheel[i][k] = wheel[i][k-1];
}
wheel[i][0] = temp;
}
else {
temp = wheel[i][0];
for (int k = 0; k <8; k++) {
wheel[i][k] = wheel[i][k + 1];
}
wheel[i][7] = temp;
}
}
int main() {
freopen("inp.inp", "r", stdin);
freopen("out.out", "w", stdout);
for (int i = 1; i <= 4; i++) {
for (int j = 0; j < 8; j++) {
char a;
scanf("%c", &a);
wheel[i][j] = a-'0';
}
char buf;
scanf("%c", &buf);
}
int k = 0;
cin >> k;
for (int i = 0; i < k; i++) {
int a, b;
cin >> a >> b;
check[a] = b;
right(a + 1);
left(a - 1);
for (int i = 1; i < 5; i++) {
if (check[i] != 0) {
rotation(i, check[i]); //체크된 값에 따라 돌린다
check[i] = 0;
}
}
}
int answer = 0;
int score = 1;
for (int i = 1; i <= 4; i++) {
if (wheel[i][0] == 1)
answer += score;
score *= 2;
}
cout << answer;
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
14890. 경사로 (0) | 2020.10.15 |
---|---|
3190. 뱀 (0) | 2020.10.14 |
14888. 연산자 끼워넣기 (0) | 2020.08.27 |
2583. 영역 구하기 (0) | 2020.08.07 |
2573. 빙산 (0) | 2020.08.04 |
Comments