본문 바로가기

BOJ/C++

[BOJ] 16939. 2X2X2 큐브

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