摘要: 这道题我用的是试探和回溯的方法回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。这一题的关键在我看来在于如何确定皇后的排放合法因为是一行一行放的,所以行一定不会相互攻击的,列也容易检查,主要在于对角线的检查,i+j,i-j;就可以了#include<stdio.h>int c[11];int tot=0,n;void search(int cur){ int i,j; if(cur==n)tot++; e... 阅读全文
posted @ 2012-09-10 17:49 天下之巅 阅读(126) 评论(0) 推荐(0)
摘要: NYOJ:圈水池学了这么长时间凸包,终于有所进展了,这也第一篇博客第一个方法jarvis步进发(jarvis march)这种方法首先找出最左下方的一个点S0(先找X最小,X相同找Y最小),然后找相对S0极角最小的S1依此类推。注意点: 1.当Pk相对于Sn的极角为0时,比较Pk到Sn-1和Sn到Sn-1的距离,如果Pk到Sn-1的距离大,则Sn=Pk;否则不变; 2.要判断S0和Sn相对于Sn-1的极角,如果Sn-1S0在Sn-1Sn的逆时针上,继续,否则就成功了(哈哈)这是我的代码(不好意思有点乱):#include#includeusing namespace std;typedef.. 阅读全文
posted @ 2012-09-07 10:37 天下之巅 阅读(126) 评论(0) 推荐(0)