幻立方解法之暴力求解

来源:互联网 发布:律师 防身用具 知乎 编辑:程序博客网 时间:2024/04/30 03:35

//疯狂查找

/*

step阶的立方,按照各种起点,各种跳步方法逐一检验

*/

func CrazyFindPerfectCube(step:Int){

   func enumInitPoint(#step:Int,#deltaPoint:(row:Int, col:Int, deep:Int),#deltaLine:(row:Int, col:Int, deep:Int),#deltaSide:(row:Int, col:Int, deep:Int)){

       for var deep =0; deep < step; ++deep{

           for var row =0; row < step; ++row{

               for var col =0; col < step; ++col{

                  //  print("\n起点:row:\(row) col:\(col) deep:\(deep)")

                   let cube = createCube(step: step, point0: (row: row, col: col, deep: deep), deltaPoint: deltaPoint, deltaLine: deltaLine, deltaSide: deltaSide)

                   if let cube_ = cube {

                       let line1 = isMagicCube(cube_,false)

                       if let line1_ = line1{

                           if (line1_.end.row != line1_.begin.row) && (line1_.end.col != line1_.begin.col) && (line1_.end.deep != line1_.begin.deep){

                                

                               println(" 这是个不太完美的幻立方。。。。。")

                               println("起点:row:\(row) col:\(col) deep:\(deep)")

                               println("deltaPoint:\(deltaPoint)")

                               println("deltaLine:\(deltaLine)")

                               println("deltaSide:\(deltaSide)")

                                

                               printMagicCube(cube_)

                            }else{

                            //  print(" 不是幻立方line=\(line1_)")

                            }

                        }else{

                           println(" 这是完美的幻立方! ! ! ! ! ! ! ! !")

                           println("起点:row:\(row) col:\(col) deep:\(deep)")

                           println("deltaPoint:\(deltaPoint)")

                           println("deltaLine:\(deltaLine)")

                           println("deltaSide:\(deltaSide)")

                            

                           printMagicCube(cube_)

                        }

                        

                    }

                }

            }

        }

    }

    

   func enumDeltaPoint(#step:Int,#deltaLine:(row:Int, col:Int, deep:Int),#deltaSide:(row:Int, col:Int, deep:Int)){

       for var deep =0; deep < step; ++deep{

           for var row =0; row < step; ++row{

               for var col =0; col < step; ++col{

                   enumInitPoint(step:step,deltaPoint: (row: row, col: col, deep: deep), deltaLine: deltaLine, deltaSide: deltaSide)

                }

            }

        }

    }

    

   func enumDeltaLine(#step:Int,#deltaSide:(row:Int, col:Int, deep:Int)){

       for var deep =0; deep < step; ++deep{

           for var row =0; row < step; ++row{

               for var col =0; col < step; ++col{

                   enumDeltaPoint(step:step,deltaLine: (row: row, col: col, deep: deep), deltaSide: deltaSide)

                }

            }

        }

    }

    

   func enumDeltaSide(#step:Int){

       for var deep =0; deep < step; ++deep{

           for var row =0; row < step; ++row{

               for var col =0; col < step; ++col{

                   println("DeltaSiderow:\(row) col:\(col) deep:\(deep)")

                   enumDeltaLine(step:step,deltaSide: (row: row, col: col, deep: deep))

                }

            }

        }

    }

    

   enumDeltaSide(step: step)

}



func CrazyFindPerfectCube3(){

   println("开始时间:\(NSDate())")

    CrazyFindPerfectCube(3)

   println("结束时间:\(NSDate())")

}


//CrazyFindPerfectCube3()

/*

开始时间:2015-02-04 07:29:00 +0000

DeltaSiderow:0 col:0 deep:0

DeltaSiderow:0 col:1 deep:0

DeltaSiderow:0 col:2 deep:0

DeltaSiderow:1 col:0 deep:0

DeltaSiderow:1 col:1 deep:0

DeltaSiderow:1 col:2 deep:0

DeltaSiderow:2 col:0 deep:0

DeltaSiderow:2 col:1 deep:0

DeltaSiderow:2 col:2 deep:0

DeltaSiderow:0 col:0 deep:1

DeltaSiderow:0 col:1 deep:1

DeltaSiderow:0 col:2 deep:1

DeltaSiderow:1 col:0 deep:1

DeltaSiderow:1 col:1 deep:1

DeltaSiderow:1 col:2 deep:1

DeltaSiderow:2 col:0 deep:1

DeltaSiderow:2 col:1 deep:1

DeltaSiderow:2 col:2 deep:1

DeltaSiderow:0 col:0 deep:2

DeltaSiderow:0 col:1 deep:2

DeltaSiderow:0 col:2 deep:2

DeltaSiderow:1 col:0 deep:2

DeltaSiderow:1 col:1 deep:2

DeltaSiderow:1 col:2 deep:2

DeltaSiderow:2 col:0 deep:2

DeltaSiderow:2 col:1 deep:2

DeltaSiderow:2 col:2 deep:2

结束时间:2015-02-04 07:37:15 +0000

*/

/*

好恐怖居然没有3阶幻立方

连那种不太完美的都没有

不会是我错了吧

不过哪里错了呢

总感觉我还是没错的

总之,整个人都不好了

*/


func CrazyFindPerfectCube4(){

   println("开始时间:\(NSDate())")

    CrazyFindPerfectCube(4)

   println("结束时间:\(NSDate())")

}


//CrazyFindPerfectCube4()

//执行了24分钟才执行了这么多,实在是不想再等,可惜的是连不太完美的都还没找着

/*

开始时间:2015-02-04 07:39:14 +0000

DeltaSiderow:0 col:0 deep:0

DeltaSiderow:0 col:1 deep:0

DeltaSiderow:0 col:2 deep:0

DeltaSiderow:0 col:3 deep:0

DeltaSiderow:1 col:0 deep:0

*/


0 0
原创粉丝点击