CF887C Solution for Cube

题目描述

在比赛间隙,顶级模特 Izabella 会自我提升,不让自己觉得无聊。例如,现在她尝试在玩 2x2x2 的魔方。 要学会一瞬间解出魔方太难了,所以她先学会判断:对于某种状态,是否可以通过一次将魔方任意一个面旋转 90 度(任意方向),使魔方还原。 她希望写一个程序,检查输入的魔方状态,判断是否能通过上述一次旋转操作将其还原。 魔方被称为“还原”当且仅当每个面上所有的小正方形颜色相同。 https://en.wikipedia.org/wiki/Rubik's\_Cube

输入格式

第一行给出由 24 个整数 $a_i$($1 \le a_i \le 6$)组成的序列,第 $i$ 个数代表第 $i$ 个小正方形的颜色。序列中每种颜色恰好出现 4 次。

输出格式

如果存在一种只旋转一次(任选一个面、任意一个方向)即可还原魔方的操作,请输出 “YES”;否则输出 “NO”。

说明/提示

在第一个样例中,魔方如图所示: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF887C/73004469d714c2206d92e2fac016d4fc092e2426.png) 在第二个样例中,魔方如图所示: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF887C/37b512d2c715516faa04a8cfe0023b26918d7893.png) 可以通过将包含编号 13、14、15、16 的面旋转来还原魔方。 由 ChatGPT 5 翻译