搜索
文章平均质量分 67
xtf__moji
这个作者很懒,什么都没留下…
展开
-
pku 2362 Square
<br /> <br />题目连接<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=2362<br /> <br /> <br />#include <iostream><br />#include <algorithm><br />using namespace std;<br /><br />int N,M;<br />int edgeLen,sum;<br />bool bfind;<br />int sticks[21],visited[21];<原创 2010-08-18 23:30:00 · 551 阅读 · 0 评论 -
pku 1321 棋盘覆盖问题
<br />准时在11点AC!!hah <br /> <br />#include<iostream>char map[9][9];bool flag[9][9];int num,n,k;bool place(int r,int c){ if (map[r][c] != '#') { return false; } for(int i = 1; i <= n; i++) { if(flag[r][i] || flag[i][c]) retu原创 2010-09-07 23:01:00 · 714 阅读 · 0 评论 -
pku 3009 外星人的冰球游戏~~~回溯法
<br />实训第二天,没午睡,看VC,学MFC框架,敲代码..累啊.上回来不能休息,还要看算法。。。。撑着.<br />状态不这么好,丢三落四的,本来比较简单的一道,WA了好多次.<br /> <br />#include <stdio.h>int w,h;#define MAX_N 300int map[MAX_N][MAX_N];int sr,sc;bool inside(int r,int c){ return (r >= 1 && r <= h && c >=原创 2010-09-07 21:23:00 · 749 阅读 · 0 评论 -
分支界限法 图的搜索 布线问题
<br />/*******************布线问题.从开始位置走到结束位置.中间有封锁区域,不得进入.只能走直线或垂直线绕过*分支界限法:*其解空间是一个图.*从起始位置s开始将其作为第一个扩展结点,与该扩展结点相邻并且可达的方格成为可行点被加入到活结点队列中,并且在图上对其标记为路径长度*接着从活结点列表中取出队首结点作为下一个扩展结点,照上...直到搜索到f方格或者队列为空时结束.*/#include <stdio.h>#include <string.h>原创 2010-09-04 16:57:00 · 1437 阅读 · 0 评论 -
pku 1797 Heavy Transportation 分支界限法
<br />题目<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=1797<br /> <br />分支界限法,学好了很强大.ps,第一次用优先队列...<br /> <br />#include <stdio.h>#include <queue>using namespace std;#define max 1001#define MIN(x,y)(x < y ? x : y)int map[max][max];int d原创 2010-09-01 19:40:00 · 817 阅读 · 0 评论 -
回溯法解背包问题
<br />#include <stdio.h>#include <stdlib.h>#include <string.h>#define max 10int c[max] = {0,7,3,4,5};int v[max] = {0,42,12,40,25};int curv,bestv,curw,V;int use[max],bestuse[max];/*回溯 可以用全局变量!!!回溯 就是在隐士图上的深度优先遍历树而对全局变量的修改 在一次未到叶子原创 2010-08-31 17:39:00 · 900 阅读 · 0 评论 -
符号三角形
#include #define maxn 20int n,half,count;int p[maxn][maxn];long sum;//0-'-' 1-'+'//解向量:用n元组x[1:n]表示符号三角形的第一行//可行性约束:当前符号三角形所包含的'+'与'-'均不超过n*(n+1)/4//无解的判断:n(n+1)/2为奇数void backtrack(int t){ //搜索第t层子树,处理第一行第t个位置 if(count > half || (原创 2010-09-03 13:23:00 · 766 阅读 · 0 评论 -
迷宫 hdu 1010 Tempter of the Bone
<br />http://acm.hdu.edu.cn/showproblem.php?pid=1010<br /> <br /> <br />//深入解析//1.求某给定时间以内能否找到出口//2.找到出口的最短时间//3.条件变为可以停留#include <stdio.h>#include <math.h>int si,sj; //记录起始点int di,dj; //记录门的位置char map[10][10];int dir[4][2] = {{-1,原创 2010-08-31 14:08:00 · 643 阅读 · 0 评论 -
回溯法 求所有子集 所有排列
<br />#include <stdio.h>#include <memory>int a[5];void f(int i,int n,int k){ //构造1--n的一个子集,对于1--n,每一个数字只有2种状态,放或者不放 //当前已经处理了前i - 1个元素,现在处理第i个元素 //这一个子集目前有k - 1个元素,新加入的元素放在第k个位置 if(i > n){ printf("{ "); for(int j = 1;j <= k - 1;j++)原创 2010-08-28 19:38:00 · 1238 阅读 · 0 评论 -
典型地图搜索 pku 2488 A Knight's Journey
<br />题目:<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=2488<br /> <br />#include <stdio.h>#include <memory>#define max 27struct Step{ char x; int y;}steps[max * max];//int dir[8][2] = {{-2,-1},{-2,1},{2,-1},{2,1},{-1,-2},{-1,2},{1,原创 2010-08-26 01:02:00 · 627 阅读 · 0 评论 -
搜索剪枝回溯经典题目 pku 1011 sticks
<br />题目:<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=1011<br /> <br /> <br /> #include<stdio.h>#include<algorithm>#define max 65int sticks[max];bool used[max];int M;intcmp(constvoid*e1,constvoid*e2){return(*(int*)e1)-(*(int*)e2)>0?-1:1;}boolf(int k,原创 2010-08-25 21:13:00 · 1249 阅读 · 0 评论 -
n皇后问题
<br />#include <stdio.h><br />#include <memory><br />#define max_n 20<br />int map[max_n][max_n];<br />int col[max_n];<br />int a[2 * max_n - 1],b[2 * max_n - 1];<br />int count = 0;<br />void Trial(int i,int n){<br /> //递归求解n皇后问题的一组解<br /> //在进入本函数时,在n *原创 2010-08-25 21:17:00 · 588 阅读 · 0 评论 -
超级迷宫 pku 3083 dfs+bfs 非常有意思的一道
<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=3083<br /> <br />神哪!!!昨天下午4点开始写 写到早上1.30...中间是第一次用Dev C++,有点系统小bug,搞了2小时.心灰意冷..结果写了9个小时还没写出来...今天去实训,回来后整理了下思路,找对了策略!对于左右手策略是这样的:如果左边(右边)有路左转(右转),否则向前,要是还不行,顺时针(逆时针)选择方向.因为设计了递归函数,所以理解起来很清晰~~但是当时怎么就没想到呢...原创 2010-09-06 20:03:00 · 1161 阅读 · 0 评论