BOJ/C++

[BOJ] 16939. 2X2X2 큐브

IamToday 2020. 4. 20. 20:22

https://www.acmicpc.net/problem/16939

* 큐브를 회전할 때 같이 바뀌는 인덱스들을 rotateIdx[][] 에 저장해둔다. 

* 한 번만 회전하는 경우 나올 수 있는 경우의 수가 6개 이고 한 번 회전할 때 바뀌는 인덱스는 8개 이므로 

6*8 로 생성했다. 

*큐브의 현재 상태를 저장하는 것이 중요하다. 

* rotate()에는 큐브를 회전하고 check()를 통해 회전한 결과가 옳은지 확인한다. 

* deque를 사용해서 정방향으로 돌릴 때는 뒤에 값을 넣어주고, 역방향으로 돌릴 때는 앞에 값을 넣어준다. 

deque의 결과는 다시 큐에 넣고, check()에서 결과를 확인한다.