我正试图找到一个算法来解决瞬间疯狂的难题。这是问题的wiki链接http://en.wikipedia.org/wiki/Instant_Insanity
我在维基百科上找到了一个图论算法来解决这个难题另一个解决办法是尝试所有可能性的暴力方法。我不知道用图论算法编码会有多复杂。我必须在一天内完成编码。如果有人能告诉我一个更好的方法来解决这个问题,那会很有帮助的。

最佳答案

既然你提到了暴力解决方案,这是否意味着它是一个可接受的解决方案?或者你真的需要想出一个算法吗?
一个暴力的方法只需要大约3万次的测试,所以这意味着你的程序在你编写之后几秒钟就会完成;-)
蛮力算法大纲可能如下所示:

for o1 in OrientationOptions {
 for o2 in OrientationOptions {
  for o3 in OrientationOptions {
   for o4 in OrientationOptions {
    if (isValidChoice (c1.o1, c2.o2, c3.o3, c4.4o)) {
     outputChoice();
     return;
    }
   }
  }
 }
}

08-26 18:28
查看更多