搜索
文章平均质量分 58
acm_lkl
这个作者很懒,什么都没留下…
展开
-
coj--1196
#include#include#includeusing namespace std;int map[110][110],n,m,visited[110][110],M;int x[]={1,0,0},y[]={0,-1,1};typedef struct { int x,y; }Node;queueq;Node node;void bfs(){原创 2014-07-17 22:53:56 · 448 阅读 · 0 评论 -
uva--185+dfs
题意: 给定一个字母组成的表达式,原创 2014-11-11 19:04:19 · 531 阅读 · 0 评论 -
uva--307+dfs
题意: 给定一堆原创 2014-11-12 17:01:10 · 573 阅读 · 0 评论 -
uva--10341+二分
水题,不过要注意二分时的精度要尽量取原创 2014-11-16 14:24:51 · 503 阅读 · 0 评论 -
uva--216+dfs
题意: 平面上原创 2014-10-15 20:20:32 · 513 阅读 · 0 评论 -
uva--639+dfs+回溯
题意: 给定一个原创 2014-10-15 21:48:33 · 482 阅读 · 0 评论 -
uva--331+dfs+回溯
题意:原创 2014-10-17 15:06:11 · 535 阅读 · 0 评论 -
uva--10334+dfs+回溯
通过穷举第一个元素使得dfs原创 2014-10-16 20:55:10 · 414 阅读 · 0 评论 -
uva--301+dfs回溯穷举
题意:原创 2014-10-16 15:26:58 · 651 阅读 · 0 评论 -
uva--208+dfs+回溯
题意: 给定一个原创 2014-10-20 11:13:15 · 582 阅读 · 0 评论 -
uva--10400+dfs+回溯
题意: 输入n个正整数和一个目标值,可以在这n个数中间填充+ - × /号进行运算,运算从左到右进行,不考虑运算符的优先性。 并且给定下面的规则: 1.填充符号时n个数的顺序不能改变。 2.填充除号的时候必须保证结果为整数。 3.每一步的结果必须在-32000~32000之间。问是否可以求得目标值。思路原创 2014-11-23 01:22:09 · 1267 阅读 · 0 评论 -
uva--193+dfs
题意: 在一个原创 2014-10-20 23:50:05 · 494 阅读 · 0 评论 -
UVA 10651 --Pebble Solitaire +dfs
这道题有两种做法:搜索和状态压缩dp因为这个题的状态只要2^12,所以可以用dfs或bfs将所有的可达状态走一遍,然后就可以得到答案了。我是用二进制压缩以后再进行的dfs;其实也可以直接开一个12位长度数组表示状态,然后dfs或bfs,这样状态判重可以用hash或二进制压缩。代码如下:#include#include#includeusing namesp原创 2015-01-25 20:01:50 · 788 阅读 · 0 评论 -
USACO--1.5Superprime Rib
直接dfs穷举所有的数,然后再判断是不是素数,注意dfs时不同层的剪枝。代码如下:/*ID: 15674811LANG: C++TASK: sprime*/#include<iostream>#include<cstdio>#include<cstring>#include<fstream>#include<algorithm>#include<cmath>using name原创 2015-03-09 18:07:50 · 768 阅读 · 0 评论 -
uva--10160+dfs+剪枝
剪枝的计几条原则: 1.原创 2014-11-10 21:20:52 · 573 阅读 · 0 评论 -
uva--10125+hash
题意: 给定一组数,从中选四个不同的数使得原创 2014-11-10 18:41:03 · 598 阅读 · 0 评论 -
poj --1321
//dfs,按行开始标记列 //注意回溯思想#include#includeusing namespace std;int visited[10],cnt,n,k;char map[10][10];void dfs(int i,int num){ for(int j=0;j<n;j++) //对第i行的每一列进行一次扫描 { if(map[i][j原创 2014-07-17 22:55:59 · 451 阅读 · 0 评论 -
uva--10189
#includeusing namespace std;int x[]={-1,1,0,0,-1,1,-1,1};int y[]={0,0,-1,1,-1,-1,1,1}; int n,m;char str[110][110];int search(int i,int j){ int cnt=0,k,m1=1; for(k=0;k<8;k++) {原创 2014-07-17 22:59:45 · 627 阅读 · 0 评论 -
uva--12195
#include#include#includeusing namespace std;int visited[110];int a[110][110],max1;void dfs(int v){ visited[v]=1; for(int i1=0;i1<=max1;i1++) if(a[v][i1]&&!visited[i1])原创 2014-07-17 23:00:33 · 456 阅读 · 0 评论 -
zoj --1649
//使用了优先队列#include#include#includeusing namespace std;int x[]={-1,1,0,0},y[]={0,0,-1,1};int visited[220][220],n,m,x2,y2,ok,min1;char map[220][220];typedef struct node1{ int x,y,t;}Q;Q n原创 2014-07-17 23:01:37 · 588 阅读 · 1 评论 -
zoj--2165
//通过dfs/bfs访问可以到达的所有结点//并统计总结点个数#include#includeusing namespace std;int x[]={-1,1,0,0};int y[]={0,0,-1,1};int n,m,visited[21][21],cnt;char map[25][25];void dfs(int x1,int y1){ for(int原创 2014-07-17 23:03:47 · 586 阅读 · 0 评论 -
poj --2199
//浮点二分#include#includeusing namespace std;double f(double x){ return (double)(8*pow(x,4.0)+7*pow(x,3.0)+2*pow(x,2.0)+3*pow(x,1.0)+6);}int main(){ int t,i,j,k; double y,first,last原创 2014-07-17 22:57:25 · 624 阅读 · 0 评论 -
uva --572
//搜索--简单dfs/bfs #include#include#include#include using namespace std;char map[110][110];int visited[110][110],n,m;int x[]={-1,1,0,0,-1,1,-1,1},y[]={0,0,-1,1,-1,-1,1,1};void dfs(int i,int j)原创 2014-07-17 22:56:19 · 505 阅读 · 0 评论 -
hdu--2899--Strange fuction
一道简单的三分求最值得题.原创 2014-08-18 15:44:28 · 486 阅读 · 0 评论 -
poj--3278
基本的bfs主要是要将坐标看出状态原创 2014-08-08 00:00:42 · 495 阅读 · 0 评论 -
第五周训练赛1--E题
开始直接暴力,果断超时了。后面就将问题转成了原创 2014-08-11 18:11:42 · 418 阅读 · 0 评论 -
uva--10012
题意: 给n个半径已知的小球,要将他们放到一个箱子中去,要求每个小球必须和箱子的底部接触并且每个小球必须至少要和一个小球接触,求箱子的最小长度。思路: 开始时觉得第一个小球和最后一个小球必须要和箱子相切,然后中间的小球必须要和它两边的小球相切,所以只需要求出n个小球的全排列,然后对一个排列计算一次,再从结果中取最小值就行了。然后WA了几次后才发现这个思路有原创 2014-10-22 18:39:01 · 487 阅读 · 0 评论 -
uva--10422+bfs+hash判重
题意: 给定一个5原创 2014-11-08 15:33:54 · 997 阅读 · 0 评论 -
uva--10085+bfs
题意: 类似于八数码问题;这里要求给定初始状态经过原创 2014-11-10 20:31:56 · 609 阅读 · 0 评论 -
USACO3.2--Magic Squares+经典搜索
类似于八数码的一道经典搜索题,思路基本也一样.我是用康拓展开进行的判重.代码如下:/*ID: 15674811LANG: C++TASK: msquare*/#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<algorithm>using namespace std;#define原创 2015-05-19 09:44:45 · 691 阅读 · 0 评论