他干脆在筛选程序中,加上了一个计数项nn,每一次筛选程序运行,计数项都会增加一点。
随后他分别输入了两种,十五步能还原的魔方状态。
程序运行一秒左右,就得到了结果。
结果没问题。
nn得到了不同的数值,一个是36211,一个是67091。
“这么少?”
赵奕感到惊讶。
哪怕对筛选方法有信心,他也没有想到第二步的筛选对比,竟然会刷下如此庞大的数据。
想想也对。
筛选对比刷下了计算需求最多、最无用的部分,继续运行的部分则淘汰了更多让魔方变得混乱的步骤。
计算量是以指数形式递增的。
筛选让指数的底变得更小,到了十步以内都会变成以千、百为单位的增加,增加的量都可以忽略不计。
“如果是最复杂的情况,筛选次数也能达到千万,甚至亿级?”
赵奕想着。
那种数据其实也并不多。
普通家用电脑依旧能解决,只不过需要的运算时间更长一些,或许是几十秒,或许是一分钟、几分钟、十几分钟。
哪怕上升到以小时为单位的程度,也已经是相当了不起的。
现在世界公认三阶魔方的计算,只能用超级计算机才可以,家用电脑的性能实在差太多了。
程序设计出来,剩下就是优化了。
赵奕做了个输入优化。
之前为了方便进入设计主题,输入端需要六个界面的五十四种颜色,实际上,只输入三个面,就足以确定整个魔方。
添加了输入优化代码后,只需要三个面的二十七种颜色。
之后是检测代码。
如果输入的魔方颜色不成立,检测代码就会执行给出错误提示。
然后。
赵奕做了个简单的界面。
左边有二十七个空格,可以填入魔方的颜色;右边则是空白的输出界面,会把最少步骤的转动结果以文字形式表示出来。
中间再加上一个小提示框。
根据程序运行情况,放入三条提示内容:请输入魔方颜色;程序正在执行中,请等待;完成,请看右侧步骤。
ok!
结束!
赵奕看着电脑上的界面,以及输入一种魔方状态后,右侧所给出的答案,一股巨大的成就感涌现出来。
做完了!
几天、十几个小时的工作成果!
这是精华!
这是艺术!
在收获成功的伟大时刻,不装一下逼还能算个人吗?
对!
这是让其他人一起享受喜悦!