《原神》荒海机关立方通解穷举
神樱大绂旁边降低水位的5个机关立方,中间不能动。降低水位可以到达恒常机关阵列。开始的时候不知道退出重进可以恢复初始,总是心心念念要穷举。最终结果是的确可以得到256种可能。

站在高台上,看到中间的方块朝向自己。
做如下约定(选择0123是为了编程方便):
位置编码(人在高台上,看中心方块朝向自己)

方向编码

将位置与方向结合,4位数字代表当前的局面
比如,“0123”就是

1000(3)1111,代表此时局面1000,在3号位(右下、或者说是右手边最近方块)打击1下,局面会变成1111,注意(3)其实是第四个,此处编码为0123而不是1234。
1000(3)1111(3)1222(2)2233(1)3330(0),代表依次射击(3右下)(3右下)(2左下)(1右上)(0左上),即可完成解密。
好了,现在站在高台上,拿出弓箭手,查表解密吧
255种局面穷举如下:
1000(3)1111(3)1222(2)2233(1)3330(0)
2000(2)3011(2)0022(1)1123(1)2220(0)3330(0)
3000(3)3111(3)3222(2)0233(2)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
0100(3)0211(2)1222(2)2233(1)3330(0)
1100(3)1211(3)1322(3)1033(2)2000(2)3011(2)0022(1)1123(1)2220(0)3330(0)
2100(3)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
3100(3)3211(3)3322(3)3033(2)
0200(3)0311(3)0022(1)1123(1)2220(0)3330(0)
1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
2200(3)2311(3)2022(2)3033(2)
3200(2)0211(2)1222(2)2233(1)3330(0)
0300(3)0011(3)0122(3)0233(2)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
1300(3)1011(2)2022(2)3033(2)
2300(3)2011(3)2122(3)2233(1)3330(0)
3300(3)3011(2)0022(1)1123(1)2220(0)3330(0)
0010(3)0121(2)1132(1)2233(1)3330(0)
1010(3)1121(3)1232(3)1303(2)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
2010(3)2121(2)3132(2)0103(2)1110(0)2220(0)3330(0)
3010(3)3121(3)3232(3)3303(1)
0110(3)0221(3)0332(2)1303(2)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
1110(0)2220(0)3330(0)
2110(3)2221(3)2332(2)3303(1)
3110(2)0121(2)1132(1)2233(1)3330(0)
0210(3)0321(3)0032(3)0103(2)1110(0)2220(0)3330(0)
1210(3)1321(2)2332(2)3303(1)
2210(3)2321(3)2032(3)2103(2)3110(2)0121(2)1132(1)2233(1)3330(0)
3210(3)3321(1)0022(1)1123(1)2220(0)3330(0)
0310(2)1321(2)2332(2)3303(1)
1310(3)1021(3)1132(1)2233(1)3330(0)
2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
3310(3)3021(3)3132(2)0103(2)1110(0)2220(0)3330(0)
0020(3)0131(3)0202(2)1213(2)2220(0)3330(0)
1020(2)2031(2)3002(2)0013(1)1110(0)2220(0)3330(0)
2020(3)2131(3)2202(1)3303(1)
3020(2)0031(1)1132(1)2233(1)3330(0)
0120(3)0231(3)0302(3)0013(1)1110(0)2220(0)3330(0)
1120(3)1231(2)2202(1)3303(1)
2120(3)2231(3)2302(3)2013(2)3020(2)0031(1)1132(1)2233(1)3330(0)
3120(3)3231(2)0202(2)1213(2)2220(0)3330(0)
0220(2)1231(2)2202(1)3303(1)
1220(3)1331(3)1002(2)2013(2)3020(2)0031(1)1132(1)2233(1)3330(0)
2220(0)3330(0)
3220(3)3331(3)3002(2)0013(1)1110(0)2220(0)3330(0)
0320(3)0031(1)1132(1)2233(1)3330(0)
1320(3)1031(3)1102(3)1213(2)2220(0)3330(0)
2320(3)2031(2)3002(2)0013(1)1110(0)2220(0)3330(0)
3320(3)3031(3)3102(3)3213(2)0220(2)1231(2)2202(1)3303(1)
0030(3)0101(3)0212(3)0323(2)1330(2)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
1030(3)1101(1)2202(1)3303(1)
2030(3)2101(3)2212(3)2323(2)3330(0)
3030(3)3101(2)0112(2)1123(1)2220(0)3330(0)
0130(2)1101(1)2202(1)3303(1)
1130(3)1201(3)1312(2)2323(2)3330(0)
2130(2)3101(2)0112(2)1123(1)2220(0)3330(0)
3130(3)3201(3)3312(1)0013(1)1110(0)2220(0)3330(0)
0230(3)0301(2)1312(2)2323(2)3330(0)
1230(3)1301(3)1012(3)1123(1)2220(0)3330(0)
2230(3)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
3230(3)3301(3)3012(3)3123(2)0130(2)1101(1)2202(1)3303(1)
0330(3)0001(3)0112(2)1123(1)2220(0)3330(0)
1330(2)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
2330(3)2001(3)2112(2)3123(2)0130(2)1101(1)2202(1)3303(1)
3330(0)
0001(3)0112(2)1123(1)2220(0)3330(0)
1001(3)1112(3)1223(3)1330(2)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
2001(3)2112(2)3123(2)0130(2)1101(1)2202(1)3303(1)
3001(3)3112(3)3223(3)3330(0)
0101(3)0212(3)0323(2)1330(2)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
1101(1)2202(1)3303(1)
2101(3)2212(3)2323(2)3330(0)
3101(2)0112(2)1123(1)2220(0)3330(0)
0201(3)0312(3)0023(3)0130(2)1101(1)2202(1)3303(1)
1201(3)1312(2)2323(2)3330(0)
2201(3)2312(3)2023(3)2130(2)3101(2)0112(2)1123(1)2220(0)3330(0)
3201(3)3312(1)0013(1)1110(0)2220(0)3330(0)
0301(2)1312(2)2323(2)3330(0)
1301(3)1012(3)1123(1)2220(0)3330(0)
2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
3301(3)3012(3)3123(2)0130(2)1101(1)2202(1)3303(1)
0011(3)0122(3)0233(2)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
1011(2)2022(2)3033(2)
2011(3)2122(3)2233(1)3330(0)
3011(2)0022(1)1123(1)2220(0)3330(0)
0111(3)0222(3)0333(3)
1111(3)1222(2)2233(1)3330(0)
2111(3)2222(3)2333(3)2000(2)3011(2)0022(1)1123(1)2220(0)3330(0)
3111(3)3222(2)0233(2)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
0211(2)1222(2)2233(1)3330(0)
1211(3)1322(3)1033(2)2000(2)3011(2)0022(1)1123(1)2220(0)3330(0)
2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
3211(3)3322(3)3033(2)
0311(3)0022(1)1123(1)2220(0)3330(0)
1311(3)1022(3)1133(3)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
2311(3)2022(2)3033(2)
3311(3)3022(3)3133(3)3200(2)0211(2)1222(2)2233(1)3330(0)
0021(3)0132(3)0203(3)0310(2)1321(2)2332(2)3303(1)
1021(3)1132(1)2233(1)3330(0)
2021(3)2132(3)2203(3)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
3021(3)3132(2)0103(2)1110(0)2220(0)3330(0)
0121(2)1132(1)2233(1)3330(0)
1121(3)1232(3)1303(2)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
2121(2)3132(2)0103(2)1110(0)2220(0)3330(0)
3121(3)3232(3)3303(1)
0221(3)0332(2)1303(2)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
1221(3)1332(3)1003(3)1110(0)2220(0)3330(0)
2221(3)2332(2)3303(1)
3221(3)3332(3)3003(3)3110(2)0121(2)1132(1)2233(1)3330(0)
0321(3)0032(3)0103(2)1110(0)2220(0)3330(0)
1321(2)2332(2)3303(1)
2321(3)2032(3)2103(2)3110(2)0121(2)1132(1)2233(1)3330(0)
3321(1)0022(1)1123(1)2220(0)3330(0)
0031(1)1132(1)2233(1)3330(0)
1031(3)1102(3)1213(2)2220(0)3330(0)
2031(2)3002(2)0013(1)1110(0)2220(0)3330(0)
3031(3)3102(3)3213(2)0220(2)1231(2)2202(1)3303(1)
0131(3)0202(2)1213(2)2220(0)3330(0)
1131(3)1202(3)1313(3)1020(2)2031(2)3002(2)0013(1)1110(0)2220(0)3330(0)
2131(3)2202(1)3303(1)
3131(3)3202(3)3313(3)3020(2)0031(1)1132(1)2233(1)3330(0)
0231(3)0302(3)0013(1)1110(0)2220(0)3330(0)
1231(2)2202(1)3303(1)
2231(3)2302(3)2013(2)3020(2)0031(1)1132(1)2233(1)3330(0)
3231(2)0202(2)1213(2)2220(0)3330(0)
0331(3)0002(3)0113(3)0220(2)1231(2)2202(1)3303(1)
1331(3)1002(2)2013(2)3020(2)0031(1)1132(1)2233(1)3330(0)
2331(3)2002(3)2113(3)2220(0)3330(0)
3331(3)3002(2)0013(1)1110(0)2220(0)3330(0)
0002(3)0113(3)0220(2)1231(2)2202(1)3303(1)
1002(2)2013(2)3020(2)0031(1)1132(1)2233(1)3330(0)
2002(3)2113(3)2220(0)3330(0)
3002(2)0013(1)1110(0)2220(0)3330(0)
0102(3)0213(3)0320(3)0031(1)1132(1)2233(1)3330(0)
1102(3)1213(2)2220(0)3330(0)
2102(3)2213(3)2320(3)2031(2)3002(2)0013(1)1110(0)2220(0)3330(0)
3102(3)3213(2)0220(2)1231(2)2202(1)3303(1)
0202(2)1213(2)2220(0)3330(0)
1202(3)1313(3)1020(2)2031(2)3002(2)0013(1)1110(0)2220(0)3330(0)
2202(1)3303(1)
3202(3)3313(3)3020(2)0031(1)1132(1)2233(1)3330(0)
0302(3)0013(1)1110(0)2220(0)3330(0)
1302(3)1013(3)1120(3)1231(2)2202(1)3303(1)
2302(3)2013(2)3020(2)0031(1)1132(1)2233(1)3330(0)
3302(3)3013(3)3120(3)3231(2)0202(2)1213(2)2220(0)3330(0)
0012(3)0123(3)0230(3)0301(2)1312(2)2323(2)3330(0)
1012(3)1123(1)2220(0)3330(0)
2012(3)2123(3)2230(3)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
3012(3)3123(2)0130(2)1101(1)2202(1)3303(1)
0112(2)1123(1)2220(0)3330(0)
1112(3)1223(3)1330(2)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
2112(2)3123(2)0130(2)1101(1)2202(1)3303(1)
3112(3)3223(3)3330(0)
0212(3)0323(2)1330(2)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
1212(3)1323(3)1030(3)1101(1)2202(1)3303(1)
2212(3)2323(2)3330(0)
3212(3)3323(3)3030(3)3101(2)0112(2)1123(1)2220(0)3330(0)
0312(3)0023(3)0130(2)1101(1)2202(1)3303(1)
1312(2)2323(2)3330(0)
2312(3)2023(3)2130(2)3101(2)0112(2)1123(1)2220(0)3330(0)
3312(1)0013(1)1110(0)2220(0)3330(0)
0022(1)1123(1)2220(0)3330(0)
1022(3)1133(3)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
2022(2)3033(2)
3022(3)3133(3)3200(2)0211(2)1222(2)2233(1)3330(0)
0122(3)0233(2)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
1122(3)1233(3)1300(3)1011(2)2022(2)3033(2)
2122(3)2233(1)3330(0)
3122(3)3233(3)3300(3)3011(2)0022(1)1123(1)2220(0)3330(0)
0222(3)0333(3)
1222(2)2233(1)3330(0)
2222(3)2333(3)2000(2)3011(2)0022(1)1123(1)2220(0)3330(0)
3222(2)0233(2)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
0322(3)0033(3)0100(3)0211(2)1222(2)2233(1)3330(0)
1322(3)1033(2)2000(2)3011(2)0022(1)1123(1)2220(0)3330(0)
2322(3)2033(3)2100(3)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
3322(3)3033(2)
0032(3)0103(2)1110(0)2220(0)3330(0)
1032(3)1103(3)1210(3)1321(2)2332(2)3303(1)
2032(3)2103(2)3110(2)0121(2)1132(1)2233(1)3330(0)
3032(3)3103(3)3210(3)3321(1)0022(1)1123(1)2220(0)3330(0)
0132(3)0203(3)0310(2)1321(2)2332(2)3303(1)
1132(1)2233(1)3330(0)
2132(3)2203(3)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
3132(2)0103(2)1110(0)2220(0)3330(0)
0232(3)0303(3)0010(3)0121(2)1132(1)2233(1)3330(0)
1232(3)1303(2)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
2232(3)2303(3)2010(3)2121(2)3132(2)0103(2)1110(0)2220(0)3330(0)
3232(3)3303(1)
0332(2)1303(2)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
1332(3)1003(3)1110(0)2220(0)3330(0)
2332(2)3303(1)
3332(3)3003(3)3110(2)0121(2)1132(1)2233(1)3330(0)
0003(3)0110(3)0221(3)0332(2)1303(2)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
1003(3)1110(0)2220(0)3330(0)
2003(3)2110(3)2221(3)2332(2)3303(1)
3003(3)3110(2)0121(2)1132(1)2233(1)3330(0)
0103(2)1110(0)2220(0)3330(0)
1103(3)1210(3)1321(2)2332(2)3303(1)
2103(2)3110(2)0121(2)1132(1)2233(1)3330(0)
3103(3)3210(3)3321(1)0022(1)1123(1)2220(0)3330(0)
0203(3)0310(2)1321(2)2332(2)3303(1)
1203(3)1310(3)1021(3)1132(1)2233(1)3330(0)
2203(3)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
3203(3)3310(3)3021(3)3132(2)0103(2)1110(0)2220(0)3330(0)
0303(3)0010(3)0121(2)1132(1)2233(1)3330(0)
1303(2)2310(2)3321(1)0022(1)1123(1)2220(0)3330(0)
2303(3)2010(3)2121(2)3132(2)0103(2)1110(0)2220(0)3330(0)
3303(1)
0013(1)1110(0)2220(0)3330(0)
1013(3)1120(3)1231(2)2202(1)3303(1)
2013(2)3020(2)0031(1)1132(1)2233(1)3330(0)
3013(3)3120(3)3231(2)0202(2)1213(2)2220(0)3330(0)
0113(3)0220(2)1231(2)2202(1)3303(1)
1113(3)1220(3)1331(3)1002(2)2013(2)3020(2)0031(1)1132(1)2233(1)3330(0)
2113(3)2220(0)3330(0)
3113(3)3220(3)3331(3)3002(2)0013(1)1110(0)2220(0)3330(0)
0213(3)0320(3)0031(1)1132(1)2233(1)3330(0)
1213(2)2220(0)3330(0)
2213(3)2320(3)2031(2)3002(2)0013(1)1110(0)2220(0)3330(0)
3213(2)0220(2)1231(2)2202(1)3303(1)
0313(3)0020(3)0131(3)0202(2)1213(2)2220(0)3330(0)
1313(3)1020(2)2031(2)3002(2)0013(1)1110(0)2220(0)3330(0)
2313(3)2020(3)2131(3)2202(1)3303(1)
3313(3)3020(2)0031(1)1132(1)2233(1)3330(0)
0023(3)0130(2)1101(1)2202(1)3303(1)
1023(3)1130(3)1201(3)1312(2)2323(2)3330(0)
2023(3)2130(2)3101(2)0112(2)1123(1)2220(0)3330(0)
3023(3)3130(3)3201(3)3312(1)0013(1)1110(0)2220(0)3330(0)
0123(3)0230(3)0301(2)1312(2)2323(2)3330(0)
1123(1)2220(0)3330(0)
2123(3)2230(3)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
3123(2)0130(2)1101(1)2202(1)3303(1)
0223(3)0330(3)0001(3)0112(2)1123(1)2220(0)3330(0)
1223(3)1330(2)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
2223(3)2330(3)2001(3)2112(2)3123(2)0130(2)1101(1)2202(1)3303(1)
3223(3)3330(0)
0323(2)1330(2)2301(2)3312(1)0013(1)1110(0)2220(0)3330(0)
1323(3)1030(3)1101(1)2202(1)3303(1)
2323(2)3330(0)
3323(3)3030(3)3101(2)0112(2)1123(1)2220(0)3330(0)
0033(3)0100(3)0211(2)1222(2)2233(1)3330(0)
1033(2)2000(2)3011(2)0022(1)1123(1)2220(0)3330(0)
2033(3)2100(3)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
3033(2)
0133(3)0200(3)0311(3)0022(1)1123(1)2220(0)3330(0)
1133(3)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
2133(3)2200(3)2311(3)2022(2)3033(2)
3133(3)3200(2)0211(2)1222(2)2233(1)3330(0)
0233(2)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
1233(3)1300(3)1011(2)2022(2)3033(2)
2233(1)3330(0)
3233(3)3300(3)3011(2)0022(1)1123(1)2220(0)3330(0)
0333(3)
1333(3)1000(3)1111(3)1222(2)2233(1)3330(0)
2333(3)2000(2)3011(2)0022(1)1123(1)2220(0)3330(0)
3333(3)3000(3)3111(3)3222(2)0233(2)1200(2)2211(1)3312(1)0013(1)1110(0)2220(0)3330(0)
python代码如下:
p_arr=[[0,1,2],[0,1,3],[0,2,3],[1,2,3]]
def npadd(t, p):
m=3<<(p * 2)
if ((t&m)==m):
return t&(~m)
else:
return t+(1<<(p*2))
def change(t, p):
t=npadd(t, p_arr[p][0])
t=npadd(t, p_arr[p][1])
return npadd(t, p_arr[p][2])
def back(t, p):
t=change(t, p)
t=change(t, p)
return change(t, p)
que = [0]
situation = [1000] * 256
situation[0] = 0
step = {}
step[0] = []
step2 = {}
step2[0] = []
while(len(que) > 0):
t = que.pop(0)
for i in range(4):
n2=back(t,i)
if (situation[n2] > situation[t] + 1):
situation[n2] = situation[t] + 1
que.append(n2)
step[n2] = [t] + step[t]
step2[n2] = [i] + step2[t]
# print(situation)
# print(step[255])
# print(step2[255])
def decode(t):
mask = 3
res = ""
for i in range(4):
res = res + str((t & mask) >> (i * 2))
mask <<= 2
return res
def prtstep(num):
res = ""
for i in range(len(step[num])):
res += ("(" + str(step2[num][i]) + ")" + decode(step[num][i]))
return(res)
for i in range(256):
print(decode(i) + prtstep(i))
- 1完美世界:《异环》全球首日流水超 1 亿元,核心指标优于《幻塔》同期水平
- 2次世代MMO端游《上古世纪2》首测来了,还有另一款续作曝光
- 3正惊GIF:别硬撑了!绝佳身材美女一只轻抚长腿,不舒服就去休息吧
- 4《少女前线:蓝蝶契约》及《逆向坍塌:F》两款新作首曝
- 5《007》新作口碑爆了!年度最佳有力竞争者
- 6《Diablo 4》Lord of Hatred DLC 结局解析——接下来会发生什么?
- 7网游圈换了一茬又一茬,唯有这个“异类”,却是越老越能打!
- 8怀旧周报:好评如潮?《暗黑破坏神4》新DLC逆袭,《龙之谷》怀旧服70级曝光
- 9绅士日报:视觉盛宴!肉装美女带球撞人,尺度太大看得人鼻血横流
- 10这次二游终于开始「好好说话」了


