T793075 【C1156】 - 立方体上色

题目描述

我们有一台专门用来给立方体上色的机器。它提供了三种不同的颜色:蓝色(blue)、红色(red)和绿色(green)。 立方体的每个面都会被涂上其中一种颜色。立方体的面按图 1 中的编号进行标记。 ![](https://cdn.luogu.com.cn/upload/image_hosting/v2467iz9.png) 【图 1】 由于一个立方体有 6 个面,我们的机器可以以 $3^6 = 729$ 种不同的方式为编号的立方体上色。 然而,如果忽略面上的编号,实际不同的上色方式要少得多,因为立方体可以旋转。请参见下面的示例。 我们用一个由 6 个字符组成的字符串表示一个被涂色的立方体,其中每个字符可以是 ‘b’(蓝色)、‘r’(红色)或 ‘g’(绿色)。 从左到右的第 $i$ 个字符($1 \leq i \leq 6$)表示第 $i$ 个面的颜色。例如,图 2 显示的是“rbgggr”,而图 3 对应的是“rggbgr”。 注意,这两个立方体实际上是用相同的方式涂色的:通过将立方体绕垂直轴旋转 90°,一个可以变成另一个。 ![](https://cdn.luogu.com.cn/upload/image_hosting/bh5bpacv.png) 【图 2】 ![](https://cdn.luogu.com.cn/upload/image_hosting/w8g60c2h.png) 【图 3】

输入格式

程序的输入是一个以标准文件结束符结尾(EOF)作为结束标志。 每一行是一个由 12 个字符组成的字符串。 前 6 个字符表示一个涂色立方体的表示法,后 6 个字符表示另一个立方体的表示法。 你的程序需要判断这两个立方体是否是以相同方式涂色的,也就是说,是否可以通过任意旋转组合将第一个立方体变换为第二个立方体。(不允许反射变换。)

输出格式

输出是一个布尔值文件。对于输入的每一行,如果第二部分可以通过旋转从第一部分获得,则输出 `TRUE`,否则输出 `FALSE`。