https://www.acmicpc.net/problem/16939
* 큐브를 회전할 때 같이 바뀌는 인덱스들을 rotateIdx[][] 에 저장해둔다.
* 한 번만 회전하는 경우 나올 수 있는 경우의 수가 6개 이고 한 번 회전할 때 바뀌는 인덱스는 8개 이므로
6*8 로 생성했다.
*큐브의 현재 상태를 저장하는 것이 중요하다.
* rotate()에는 큐브를 회전하고 check()를 통해 회전한 결과가 옳은지 확인한다.
* deque를 사용해서 정방향으로 돌릴 때는 뒤에 값을 넣어주고, 역방향으로 돌릴 때는 앞에 값을 넣어준다.
deque의 결과는 다시 큐에 넣고, check()에서 결과를 확인한다.
'BOJ > C++' 카테고리의 다른 글
[BOJ] 9019. DSLR (0) | 2020.04.25 |
---|---|
[BOJ] 17085. 십자가 2개 놓기 (0) | 2020.04.20 |
[BOJ] 16932. 모양 만들기 (0) | 2020.04.20 |
[BOJ] 17822. 원판 돌리기 (0) | 2020.04.19 |
[BOJ] 16918. 봄버맨 (0) | 2020.04.17 |