上一页 1 ··· 8 9 10 11 12 13 14 15 下一页
摘要: 这道读懂题意就很简单了,就宽搜就OK了。。题意其实就是在一个8*8的国际象棋棋盘上下棋,骑士以马的形式跳(“日”字型,跟中国象棋一样,没拌点) 1 #include<iostream> 2 #include<string> 3 #include<queue> 4 #include<memory.h> 5 using namespace std; 6 7 struct node 8 { 9 int row; 10 int colum; 11 int m; 12 }; 13 int main() 14 { 15 int t; 16 cin>&g 阅读全文
posted @ 2012-09-19 09:04 晨风世界 阅读(211) 评论(0) 推荐(0)
摘要: sicily上面的三道“简单魔板”的变形,开始以为数据变大了第一道题的解法行不通了,其实不然。网上看到用康托展开来进行存储状态的,发现其实对于这道题没能发挥康托展开的强大威力。下面是找到别人的代码,自己加了一些注释(呜呜,我不想剽窃的。。。只是转载不了。。)原文出处http://blog.csdn.net/bingleaf/article/details/6248371关于康托展开,百度百科讲得非常详细了,看下就知道是什么东西了,算法实现也很简单,主要是其思想。。其实这道题没必要使用康托编码,这里没发挥它的强大作用。因为从开始状态往下一层一层的搜不会出现太多的状态(试了下1000000步也只是 阅读全文
posted @ 2012-09-19 09:03 晨风世界 阅读(273) 评论(0) 推荐(0)
摘要: 解题关键在于用筛选法求得素数(详细可百度)所谓“筛选法”指的是“埃拉托色尼(Eratosthenes)筛法”。他是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。具体做法如下:<1> 先将1挖掉(因为1不是素数)。<2> 用2去除它后面的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。<3> 用3去除它后面的各数,把3的倍数挖掉。<4> 分别用4、5…各数作为除数去除这些数以后的各数。这个过程一直进行到在除数后面的数已全被挖掉为止。例如找1~50的素 阅读全文
posted @ 2012-09-19 09:01 晨风世界 阅读(306) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 下一页