幻立方解法之暴力求解
来源:互联网 发布:律师 防身用具 知乎 编辑:程序博客网 时间: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("DeltaSide:row:\(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
DeltaSide:row:0 col:0 deep:0
DeltaSide:row:0 col:1 deep:0
DeltaSide:row:0 col:2 deep:0
DeltaSide:row:1 col:0 deep:0
DeltaSide:row:1 col:1 deep:0
DeltaSide:row:1 col:2 deep:0
DeltaSide:row:2 col:0 deep:0
DeltaSide:row:2 col:1 deep:0
DeltaSide:row:2 col:2 deep:0
DeltaSide:row:0 col:0 deep:1
DeltaSide:row:0 col:1 deep:1
DeltaSide:row:0 col:2 deep:1
DeltaSide:row:1 col:0 deep:1
DeltaSide:row:1 col:1 deep:1
DeltaSide:row:1 col:2 deep:1
DeltaSide:row:2 col:0 deep:1
DeltaSide:row:2 col:1 deep:1
DeltaSide:row:2 col:2 deep:1
DeltaSide:row:0 col:0 deep:2
DeltaSide:row:0 col:1 deep:2
DeltaSide:row:0 col:2 deep:2
DeltaSide:row:1 col:0 deep:2
DeltaSide:row:1 col:1 deep:2
DeltaSide:row:1 col:2 deep:2
DeltaSide:row:2 col:0 deep:2
DeltaSide:row:2 col:1 deep:2
DeltaSide:row: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
DeltaSide:row:0 col:0 deep:0
DeltaSide:row:0 col:1 deep:0
DeltaSide:row:0 col:2 deep:0
DeltaSide:row:0 col:3 deep:0
DeltaSide:row:1 col:0 deep:0
*/
- 幻立方解法之暴力求解
- 幻立方解法之开篇
- 幻立方解法之素数3阶幻立方
- 幻立方解法之7阶延展
- 幻立方解法之151阶
- 幻立方解法之4阶,5阶,7阶
- 幻立方解法之7阶幻立方的生成方法
- 算法之暴力求解
- 算法学习之暴力求解
- java求解蚂蚁爬杆问题(面向对象 暴力解法)
- 暴力求解法 之 简单枚举
- 暴力求解法 之 枚举排列
- 暴力求解法 之 简单枚举
- 暴力求解法之简单枚举--除法
- 暴力求解法之简单枚举
- 暴力求解法之枚举排列
- 暴力求解法之枚举子集
- NOJ1007 完美立方(暴力)
- AI 快捷键大全
- C++中extern “C”
- http协议基础详解
- Strumpy Shader Editor入门教程
- xml与json区别
- 幻立方解法之暴力求解
- 虚拟化平台VMware vCenter Server无法连接故障排查解决
- uva201正方形squares
- JavaScript面向对象的编程
- Unity3D基础--动态创建和设置游戏对象
- UriMatcher
- intelliJ IDEA 创建maven android工程的方法
- Xcode6中添加pch文件
- 对一道Twitter面试题(墙面盛水问题)的解答