1546.绝对不模拟的简单魔方

时间限制:1s 内存限制:256MB

小T最近有些疲惫,想找一些能够放松自己的事情去做,正好想起上次被队友用三阶魔方暴杀的经历,就想苦练一下魔方技术,好在下次的对战中击败他的队友。

于是他在网上下单了一个魔方,让小C帮他去取快递。

可是小C有些调皮,私自拆开了快递,随意的扭了这个魔方不超过三次(扭的是侧面,不是中间层,且扭的角度固定为$90$度),还弄掉了同一个角上的两片贴纸

小C的记性不太好,不太记得两片贴纸正确的位置了,所以随意的将两片贴纸贴了回去,并将这件事告诉了小T。

但小T作为一个还在学习如何还原底层十字的小萌新,面对被小C打乱过的魔方很是束手无策。

所以他向你寻求帮助,希望你告诉他小C有没有将两片贴纸正确的贴回去,如果没有的话,是哪一个角的贴纸贴错了呢。

输入格式(从终端/标准输入读取)

第一行有一个整数,$T (1≤T≤10)$ ,代表数组组数

每组数据输入一个 $9$ 行 $12$ 列的字符型矩阵。
矩阵表示魔方的平面展开图,展开图的格式固定。

输入格式为:

iQErG2RFYpCadrhAav1hhh5su1aQmR8OAXiUDAUP.png

表示一个魔方的平面展开图。

未打乱的魔方为:

oFIa4VY9zufeAigYl5M7IAd4LgxuFlx9gMAB4xiF.png

"x"在输入的数据中是 $[1,6]$ 中的一个数字,表示这个块原来属于哪一面。

保证所给的魔方至多被扭过三次,且只扭了侧面,没有旋转过中间层。

输出格式(输出至终端/标准输出)

如果两片贴纸被正确的贴了回去,输出"No problem",否则按升序输出贴错贴纸的角上的三个数字。

输入样例

复制
2
***111******
***111******
***111******
223233444555
222333444555
222333444555
***666******
***666******
***666******
***111******
***111******
***111******
333444555222
222333444555
222333444555
***666******
***666******
***666******
 \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n
            \n

输出样例

复制
1 2 3
No problem
 · · \n
  ·       \n
来源: 2024“钉耙编程”中国大学生算法设计超级联赛(2)

提交题解

Please login first.

© 2025 FAQs