{"trustable":true,"prependHtml":"\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027\\\\(\u0027, right: \u0027\\\\)\u0027, display: false},\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e这是一个非常受孩子们欢迎的游戏。在这个游戏中,有一个由3 * 3 * 3个小立方体组成的立方体。我们可以展开这个立方体,它会变成这样:\u003c/p\u003e\n\u003cp\u003e \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;w w w\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;w w w\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;w w w\u003cbr\u003e\n r r r g g g b b b o o o\u003cbr\u003e\n r r r g g g b b b o o o\u003cbr\u003e\n r r r g g g b b b o o o\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;y y y\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;y y y\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;y y y\u003c/p\u003e\n\u003cp\u003e 这些字母代表小立方体上的颜色。例如,\u0027r\u0027代表红色,\u0027g\u0027代表绿色,\u0027y\u0027代表黄色……这个游戏的目标是旋转立方体的面,使得每个面都只包含一种颜色。请注意,立方体上确切有6种颜色,每次游戏中总共有9个小矩形。\u003c/p\u003e\n\u003cp\u003e 你知道如何旋转这些面吗?我想大多数人都知道。但我还是想再演示一遍。当一个面被旋转时,所有相邻面的颜色配置都会改变。对于上面的立方体,当我们顺时针旋转绿色面后,\u0027w\u0027面的最后一行将变成\u0027b\u0027面的左列,\u0027b\u0027面的左列将变成\u0027y\u0027面的顶行,等等。你可能知道,从一个乱序的配置到达最终位置可能会非常具有挑战性。\u003c/p\u003e\n\u003cp\u003e 在这个问题中,给定了一个立方体的配置,并要求给出达到最终位置的方法。为了降低难度,所需的步骤永远不会超过5步。\u003c/p\u003e\n\u003cp\u003e\u003cbr\u003e\n \u003cb\u003e输入\u003c/b\u003e\u003c/p\u003e\n\u003cp\u003e 输入包含第一行中的一个整数,表示测试用例的数量。在每个测试用例中,总共有10行。第一行是空行。接下来的9行包含一个配置。格式可以在示例输入中看到。为了简单起见,我们给每个面都标上了索引,如下所示:\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;/---\\\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;| \u0026nbsp;\u0026nbsp;|\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;| 4 |\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;| \u0026nbsp;\u0026nbsp;|\u003cbr\u003e\n /---+---+---+---\\\u003cbr\u003e\n | \u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp; |\u0026nbsp;\u0026nbsp; |\u0026nbsp;\u0026nbsp; |\u003cbr\u003e\n | 0 | 1 | 2 | 3 |\u003cbr\u003e\n | \u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp; |\u0026nbsp;\u0026nbsp; |\u0026nbsp;\u0026nbsp; |\u003cbr\u003e\n \\---+---+---+---/\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;| \u0026nbsp;\u0026nbsp;|\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;| 5 |\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;| \u0026nbsp;\u0026nbsp;|\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\\---/\u003c/p\u003e\n\u003cp\u003e 请注意,相邻字母之间有一个空格。\u003c/p\u003e\n\u003cp\u003e\u003cbr\u003e\n \u003cb\u003e输出\u003c/b\u003e\u003c/p\u003e\n\u003cp\u003e 对于每个测试用例,输出的第一行是达到获胜位置的最小步数N。如果无法在5步内达到获胜位置,则在此行中打印-1。否则,在接下来的N行中,每行打印一步。一步包含两个整数,第一个表示面的索引,第二个表示方向。1表示顺时针,-1表示逆时针。如果给定位置就是获胜位置,则对于这样的测试用例简单地打印0。如果有多种解决方案,则任何一种都可以接受。\u003c/p\u003e\n\u003cp\u003e\u003cbr\u003e\n \u003cb\u003e示例输入\u003c/b\u003e\u003c/p\u003e\n\u003cp\u003e 2\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;w w w\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;w w w\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;w w w\u003cbr\u003e\n r r r g g g b b b o o o\u003cbr\u003e\n r r r g g g b b b o o o\u003cbr\u003e\n r r r g g g b b b o o o\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;y y y\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;y y y\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;y y y\u003c/p\u003e\n\u003cp\u003e \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;w w w\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;w w w\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;b b b\u003cbr\u003e\n r r w g g g y b b o o o\u003cbr\u003e\n r r w g g g y b b o o o\u003cbr\u003e\n r r w g g g y b b o o o\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;r r r\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;y y y\u003cbr\u003e\n \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;y y y\u003c/p\u003e\n\u003cp\u003e\u003cbr\u003e\n \u003cb\u003e示例输出\u003c/b\u003e\u003c/p\u003e\n\u003cp\u003e 0\u003cbr\u003e\n 1\u003cbr\u003e\n 1 1\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\u003cbr\u003e\n\u003c/p\u003e"}}]}