----------搜索--------
文章平均质量分 72
ajsdfkjasdfasdif
这个作者很懒,什么都没留下…
展开
-
HDOJ1045 DFS
判断每个点, 在判断每个点的时候 先判断每个点的四个方向上是否有墙 有的话就换个方向判断 若这个方向上没有墙并且没有城堡 这个位置可以建立城堡 若这个方向上没有墙并且有城堡 这个位置不可以建立城#include"iostream" #include"stdio.h" using namespace std; char map[20][20]; int dir[4][2]={1,0,-1,原创 2016-05-26 13:41:57 · 433 阅读 · 0 评论 -
HDOJ1312 DFS
求一个连通块的元素个数(包含@的连通块) #include #include"sstream" #include"string" #include"algorithm" #include"cstring" #include"cstdio" using namespace std; int dir[4][2]={1,0,-1,0,0,1,0,-1}; char g[30][30]; int r,原创 2016-06-10 21:23:31 · 214 阅读 · 0 评论 -
HDOJ 1016 dfs
#include"iostream" using namespace std; int n; int a[50]; int visit [50]; int isprime(int k) { int n=sqrt(double(k)); int i; for(i=2;i<=n;i++) if(k%i==0) return 0; return 1; }转载 2016-05-25 16:15:09 · 212 阅读 · 0 评论 -
HDOJ1026 优先队列bfs
#include #include #include #include using namespace std; int n,m; char Map[150][150]; int vis[150][150]; int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; typedef struct NODE { int x,y; }NODE; struct nod转载 2016-05-25 16:11:17 · 322 阅读 · 0 评论 -
HDOJ1010 STILL DFS
#include #include using namespace std; int di,dj; bool escape; int a,b,t; char str[9][9]; int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; void bfs(int si,int sj,int cnt) { if(sia||sj>b)return ; i原创 2016-05-23 20:49:10 · 209 阅读 · 0 评论 -
排列
普通集合的排列: #include"iostream" using namespace std; int num[100]; int a[100]; int n; void next_permutation(int a[],int cur) //从cur 构造序列 { if(cur==n) //递归边界 当长度达到了序列的长度打印 { for(int i=0原创 2016-08-22 10:12:58 · 165 阅读 · 0 评论 -
vijos 1131 枚举
#include"stdio.h" __int64 gcd(__int64 a,__int64 b) { return b==0?a:gcd(b,a%b); } int main() { int i,j; __int64 x,y; scanf("%I64d%I64d",&x,&y); __int64 ans=x*y; int count=0;原创 2016-08-22 19:59:22 · 281 阅读 · 0 评论 -
vijos 1051 BFS/DFS 连通块
#include"stdio.h" #include"stdlib.h" #include"queue" #include"string.h" using namespace std; typedef long long ll; int dir[12][2]={{0,2},{0,-2},{2,0},{-2,0},{1,1},{1,-1},{-1,1},{-1,-1},{1,0},{-1,0},{0原创 2016-08-22 21:29:56 · 339 阅读 · 0 评论 -
VIJOS 1128 DFS+MR 判素数
#include"stdio.h" #include"stdlib.h" #include"iostream" #include"string.h" #include"map" using namespace std; typedef long long ll; ll mod(ll a,ll b,ll c) { if(!b) return 1; return mod(a*a%c,b原创 2016-08-22 23:31:55 · 280 阅读 · 0 评论 -
POJ2386 求连通块
#include"iostream" #include"string" #include"algorithm" using namespace std; char g[120][120]; int dir[8][2]={{1,0},{0,1},{1,1},{-1,1},{0,-1},{-1,0},{-1,-1},{1,-1}}; int N,M; int num; int visit[120][1原创 2016-08-11 15:59:13 · 306 阅读 · 0 评论 -
UVA 725 DFS
Division Time Limit: 3000MS 64bit IO Format: %lld & %llu Write a program that finds and displays all pairs of 5-digit numbers that between them use the digits 0 through 9原创 2016-08-23 21:23:34 · 354 阅读 · 0 评论 -
UVA 11059 枚举
Maximum Product Time Limit: 3000MS 64bit IO Format: %lld & %llu Given a sequence of integers S = {S1, S2, . . . , Sn}, you should determine what is the value of the maximum p原创 2016-08-23 21:41:18 · 673 阅读 · 0 评论 -
UVA 10976 枚举
Fractions Again?! Time Limit: 3000MS 64bit IO Format: %lld & %llu Description Problem descriptions: System Crawler 2016-08-19原创 2016-08-23 22:13:33 · 392 阅读 · 0 评论 -
HDOJ 1242 DFS
DFS 剪枝 #include #include"sstream" #include"string" #include"algorithm" #include"cstring" #include"cstdio" using namespace std; int dir[4][2]={1,0,-1,0,0,1,0,-1}; char g[300][300]; int r,c; int visit原创 2016-06-10 22:44:55 · 223 阅读 · 0 评论 -
HDOJ 1342 DFS
#include #include"sstream" #include"string" #include"algorithm" #include"cstring" #include"cstdio" using namespace std; int g[300]; int r,c; int visit[300]; int a[100]; int n; int ka=1; void dfs(int原创 2016-06-11 00:28:18 · 265 阅读 · 0 评论 -
HDOJ1181变形记 DFS
这操蛋的输入格式。。。。貌似只要过第一组数据就行了。多组测试我答案是有错的。 #include #include"sstream" #include"string" #include"algorithm" #include"cstring" #include"cstdio" using namespace std; struct se { char s; char e;原创 2016-06-11 13:00:46 · 219 阅读 · 0 评论 -
DFS 1241
#include #include"sstream" #include"string" #include"algorithm" #include"cstring" #include"cstdio" using namespace std; int dir[8][2]={1,0,-1,0,0,1,0,-1,1,1,1,-1,-1,1,-1,-1}; char g[200][200]; int vi原创 2016-06-09 22:42:00 · 186 阅读 · 0 评论 -
DFS HDU1010
#include #include"sstream" #include"string" #include"algorithm" #include"cstring" #include"cstdio" using namespace std; int dir[4][2]={1,0,-1,0,0,1,0,-1}; char g[20][20]; int escape; int r,c,t; int s原创 2016-06-09 22:42:56 · 204 阅读 · 0 评论 -
poj1979 BFS/DFS
#include #include #include using namespace std; struct node { int x; int y; node(){} node(int xx,int yy):x(xx),y(yy){} }; int n,m; char g[20][20]; int visit[20][20]; int ans; int di原创 2016-08-17 04:17:46 · 313 阅读 · 0 评论 -
POJ3984 BFS 输出路径
BFS #include #include #include #include #include #define sf scanf #define pf printf #define mem(vis,a) memset(visit,a,sizeof(visit)); using namespace std; struct point{ int x;int y; poi原创 2016-08-17 05:45:26 · 262 阅读 · 0 评论 -
poj1562 DFS/BFS连通块
#include #include #include #include #include #define sf scanf #define pf printf #define mem(vis,a) memset(visit,a,sizeof(visit)); using namespace std; char g[100][100]; int n,m; int dir[8][2]={{1原创 2016-08-17 05:46:23 · 235 阅读 · 0 评论 -
第一次写八数码 速度太慢了 set也爆了。
#include #include #include #include #include #include #include"queue" #include"set" #include"string" #include"vector" using namespace std; int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; char flag[4]原创 2016-08-02 17:07:46 · 331 阅读 · 0 评论 -
POJ 1979 BFS
#include"stdio.h" #include"queue" #include"iostream" #include"cstring" using namespace std; const int maxn=30; int visit[maxn][maxn]; char g[maxn][maxn]; int r,c; struct point{ int x;int y; point(){}原创 2016-08-19 22:44:01 · 307 阅读 · 0 评论 -
HDOJ1016素数环 DFS
#include #include #include #include #include #include #include"queue" #include"set" #include"vector" using namespace std; int v[100]; bool isprime(int n) { if(!v[n]) return true;原创 2016-08-02 12:39:59 · 227 阅读 · 0 评论 -
HDOJ 1716排列2 DFS+STL
#include #include #include #include #include #include #include"queue" #include"set" #include"vector" using namespace std; const int maxn=100; int c[maxn]; int visit[maxn]; int flag=1; int turn=0原创 2016-08-02 11:10:26 · 223 阅读 · 0 评论 -
POJ1111 Image Perimeters DFS连通块
#include #include #include #include #include #include #include"queue" using namespace std; const int maxn=500; int visit[maxn][maxn]; char g[maxn][maxn]; int r,c; int dir[8][2]={{1,0},{-1,0},{0,原创 2016-08-01 21:02:52 · 213 阅读 · 0 评论 -
POJ1915 BFS
#include #include #include #include #include #include #include"queue" using namespace std; const int maxn=300; int l; int visit[maxn][maxn]; int dir[8][2]={{-2,1},{-1,2},{2,1},{1,2},{-2,-1},{-1,原创 2016-08-01 19:21:02 · 198 阅读 · 0 评论 -
HDOJ1429胜利大逃亡(续) 状态压缩+BFS
借鉴了这位大神的代码理解的:有一种力量叫乐观, 状态压缩就是用二进制表示状态 在搜索中有很多种状态,手中有0把钥匙,有1把钥匙,有2把钥匙...... 题目中是A-J一共有10把钥匙, 有钥匙和没有钥匙一共两种情况 一共十把所以有pow(2,10)种情况也就是1024。 1024转为二进制就是1 00000 00000。 开成数组正好是0-1023 对应的二进制就是0-1111111原创 2016-08-01 17:21:02 · 286 阅读 · 0 评论 -
UVA 524 素数环
简单DFS #include"iostream" #include"stdlib.h" #include"string.h" using namespace std; typedef long long ll; int n; int a[50]; int res[50]; int visit[50]; bool Miller_Rabbin(ll x) { for(int i=2;i*原创 2016-08-23 22:43:01 · 387 阅读 · 0 评论