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()에서 결과를 확인한다.