主题:求解8皇后思路
强强
[专家分:4740] 发布于 2007-12-17 19:17:00
同题目
回复列表 (共5个回复)
沙发
def [专家分:3380] 发布于 2008-01-20 18:18:00
直接使用可移动棋子
板凳
强强 [专家分:4740] 发布于 2008-01-21 21:19:00
谢谢,我已经做出来了,只是效率不很高,惭愧惭愧
在C语言讨论区里,用C做的
3 楼
moz [专家分:37620] 发布于 2008-01-21 21:32:00
在你发这贴的时候,我好像去翻旧贴去了,后来不知道为什么最后不了了之了.
C 应该是效率最高而代码又不像汇编那么繁杂的语言了吧.
其实重要的是算法(其实我也不懂,只是听人家这么说这么叫,我也跟着学了)
在心里形成一个概念,或者说是一个想法,一个思路,
想好了用些(注意,这是一个复数)什么办法可以达到目的,
哪些方法效率会更高,速度会更快.
然后用代码去验证一下.
记得我当初写的时候,是什么也不懂,(无知者无畏)
所以很自大,非要写出来,可也没得到评价.
自己也没看到看懂别人的算法,所以我也没有更好的认识.
对于高等数学,什么图树枝节之类的东西,我至今仍无法理解.
不明白这些节点如何联系,但对于具体事物的联系,我反而可以在脑子里形成一个认识.
就拿这八皇后或马踏棋盘来说,是很形象很具体的问题,
但拿图树枝节来说,我就要晕菜了.
4 楼
moz [专家分:37620] 发布于 2008-01-21 21:39:00
再回头看看以前写的代码,
我当初是这样子做八皇后的,
至今仍未学到更多更好的知识和理论.
八行八列,八个点,互不同行不同列不同斜线
简单一点,八个循环,(固定循环数用for,不固定用do)
因为不同行,也就是说每行有且只有一点,用行作递进循环很理所当然
下一个点的合理条件: 与前面的点不同列
与前面的点斜线的差值b不等(y=a*x+b)
循环结束则返回遍历上一点.最后便得出结果.
5 楼
强强 [专家分:4740] 发布于 2008-01-23 23:51:00
谢谢MOZ,你的八皇后我也看到了,在旧帖里找的,是图形界面的吧用“[]”呵呵,果然很厉害,可是读别人的程序我觉得实在太费劲,尤其是我没有理解这原理的时候,呵呵
我来回复