【转】matrix67大牛的n皇后位运算代码
摘要:[代码]初始化: upperlim = (1 << n) - 1; Ans = 0;调用参数:solve(0, 0, 0);和普通算法一样,这是一个递归函数,程序一行一行地寻找可以放皇后的地方。函数带三个参数row、ld和rd,分别表示在纵列和两个对角线方向的限制条件下这一行的哪些地方不能放。位于该行上的冲突位置就用row、ld和rd中的1来表示。把它们三个并起来,得到该行所有的禁位,...
阅读全文
PKU 1475 Pushing Boxes 【双重BFS】
摘要:思路来自DISCUSS,嵌套的BFS,外重BFS是箱子的,内重BFS是人的(即判断人否能到达外重BFS求出来的能把箱子推到该位置的位置)然后就是路径的记录,我开了一个大字符串数组来记录人走的路径(可以通过内重BFS记录),外重BFS则记录推箱子的路径,反正有点繁琐,要比较细心。代码Code highlighting produced by Actipro CodeHighlighter (free...
阅读全文
PKU 3322 【BFS】
摘要:RE了无数次,貌似是数组开小了。状态为坐标+下一个方向代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#include<iostream>#include<cstring>#include<cstdio>usin...
阅读全文
PKU 1753 BFS+状态压缩
摘要:棋盘状态有2的16次方种,可以通过二进制状态压缩来表示棋盘状态,进行判重。TLE了一次,我用的STL的队列,自己实现队列后32MS过掉。#include<iostream>[代码]
阅读全文
PKU 3414 【裸BFS】
摘要:bfs,主要是用pre记录前驱,输出路径。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#include<iostream>#include<cstdio>#include<cstring>#include&l...
阅读全文