搜索
文章平均质量分 68
ACder_chen
将AC进行到底
展开
-
hdu 1072 Nightmare
#include #include #include #include using namespace std;/*思路: 当遇到4时,只走一次, 广搜就行了;*/int num[10][10];struct node{ int x, y; int t; int step;};int T, n, m;int sx, sy;int ex,原创 2013-10-25 20:32:45 · 563 阅读 · 0 评论 -
poj1909 Marbles on a tree
一看就会#include #include #include #include #include using namespace std;const int M = 10005;vectorque[M];int num[M];int rd[M];int n, ans;void init() { for(int i = 0; i <= n; i++){原创 2014-08-09 15:03:13 · 656 阅读 · 1 评论 -
dhu 1180 诡异的楼梯
#include #include #include #include using namespace std;char Map[25][25];int vist[25][25];int dir[][2] = {{1, 0}, {-1, 0}, {0, -1}, {0, 1}};int n, m;struct node { int x, y; int tim转载 2014-05-31 20:53:10 · 694 阅读 · 0 评论 -
poj 2704 (记忆化搜索)
#include #include #include using namespace std;__int64 dp[50][50];char Map[50][50];int n;bool judge(int x,int y) { if(x >= 0 && x = 0 && y < n) return true; return false;}原创 2014-04-12 18:00:51 · 630 阅读 · 0 评论 -
poj 3249 记忆化搜索
#include #include #include #include #include using namespace std;const int M = 100005;const int MAX = 99999999;int dp[M];int rdu[M];int value[M];vectors[M];int n, m;int ans;int dfs(i原创 2014-04-12 17:25:56 · 538 阅读 · 0 评论 -
poj 2488A Knight's Journey
#include #include #include using namespace std;int vist[20][20];int sign[400][2];int dir[8][2] = {{-2 , 1},{-2,-1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}} ;/* 1 2 3 4 5 6 7 8 9 ---- A转载 2014-04-21 19:11:41 · 637 阅读 · 0 评论 -
poj 3411 Paid Roads
#include #include #include #include /*对深搜的感悟,深搜一般先找的结果在回溯回来, 更多的是递归。广搜是解决最短路的首选方法, 如果不能用广搜, 深搜也可以。但是,要对找的结果进行筛选, 得到你想要的结果。当进行试探性的扩展时, 不能用if(dfs()) return true;这种条件只能得到一组解, 之后程序会结束搜索,对于求多组中找转载 2014-04-21 21:05:14 · 587 阅读 · 0 评论 -
poj 2248 Addition Chains
#includeusing namespace std;int n, len, num[20], ans[20];void dfs(int dep){ int i; if(dep > len) return; // 剪枝1。 if(num[dep-1] == n){ if(dep < len){ len = dep;转载 2014-04-21 21:07:35 · 647 阅读 · 0 评论 -
N皇后问题
#include #include int main(){ int a[12],b[12],m; int fg,k,i,s,n; for(n=1;n<=10;n++) { a[1]=1;s=0;i=1; while(1) { fg=1; for(k=i-1;k原创 2014-04-15 19:21:17 · 563 阅读 · 0 评论 -
poj3414 pots(经典搜索题目, 题目本身不难,处理有点繁琐)
#include #include #include #include using namespace std;int a, b, c;int vist[105][105];struct node { int x, y; int id; int op; int num; int pre;}s[100005];int cnt;no原创 2014-04-16 20:55:51 · 609 阅读 · 0 评论 -
poj 2935 Basic Wall Maze
#include #include #include #include using namespace std;struct node { int x, y; string str;};struct Node { int x1, y1; int x2, y2;}wall[3];int dir[4][2] = {{0, -1},{0, 1}原创 2014-04-15 21:13:33 · 686 阅读 · 0 评论 -
uva 291 简单搜索(一笔画)
#include #include #include #include using namespace std;int mmap[6][6];void makemmap(){ memset(mmap, 0, sizeof(mmap)); for(int i = 1; i <= 5; i++) { for(int j = 1; j <= 5;转载 2013-10-29 14:06:41 · 838 阅读 · 0 评论 -
hud 1175 连连看
#include #include #include using namespace std;/*本题所得; 深搜的难点是剪枝, 对于搜索,我们一定要尽量控制进入递归搜索的次数, 对于题目给出的数据 尽量找到不合题意的情况, 将其剪去; 在递归中也是一样,想尽一切办法剪枝,*/int mmap[1005][1005];int vist[1005][1005];原创 2013-10-27 20:33:25 · 630 阅读 · 0 评论 -
poj3009
int ax = x + dir[i][0]; int ay = y + dir[i][1];转载 2014-08-19 11:35:26 · 557 阅读 · 0 评论