C1156 - 立方体上色
题目描述
我们有一台专门用来给立方体上色的机器。它提供了三种不同的颜色:蓝色(blue)、红色(red)和绿色(green)。
立方体的每个面都会被涂上其中一种颜色。立方体的面按图 1 中的编号进行标记。

【图 1】
由于一个立方体有 6 个面,我们的机器可以以 $3^6 = 729$ 种不同的方式为编号的立方体上色。
然而,如果忽略面上的编号,实际不同的上色方式要少得多,因为立方体可以旋转。请参见下面的示例。
我们用一个由 6 个字符组成的字符串表示一个被涂色的立方体,其中每个字符可以是 ‘b’(蓝色)、‘r’(红色)或 ‘g’(绿色)。
从左到右的第 $i$ 个字符($1 \leq i \leq 6$)表示第 $i$ 个面的颜色。例如,图 2 显示的是“rbgggr”,而图 3 对应的是“rggbgr”。
注意,这两个立方体实际上是用相同的方式涂色的:通过将立方体绕垂直轴旋转 90°,一个可以变成另一个。

【图 2】

【图 3】
输入格式
程序的输入是一个以标准文件结束符结尾(EOF)作为结束标志。
每一行是一个由 12 个字符组成的字符串。
前 6 个字符表示一个涂色立方体的表示法,后 6 个字符表示另一个立方体的表示法。
你的程序需要判断这两个立方体是否是以相同方式涂色的,也就是说,是否可以通过任意旋转组合将第一个立方体变换为第二个立方体。(不允许反射变换。)
输出格式
输出是一个布尔值文件。对于输入的每一行,如果第二部分可以通过旋转从第一部分获得,则输出 TRUE,否则输出 FALSE。
样例 #1
样例输入 #1
rbgggrrggbgr
rrrbbbrrbbbr
rbgrbgrrrrrg
样例输出 #1
TRUE
FALSE
FALSE
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式
1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1156.in,输出文件名为:C1156.out