搜索
Script-Boy
这个作者很懒,什么都没留下…
展开
-
zoj 1179 Finding Rectangles
据说可以用动态规化解,想不出来就用爆搜结果过了。 输出格式让我纠结了很久一直WA #include #include #define MAX 27 struct edge{ int x,y; char tag; }; edge edges[MAX]; int p[4]; bool vis[MAX]; int num; bool flag; int ansnum=0; bool can原创 2013-08-25 21:44:31 · 378 阅读 · 0 评论 -
zoj 2913 Bus Pass
//BFS经典题 #include #include #include #include #include #define MAX 10000 #define INF 1000000 using namespace std; int nz,nr; // 地区数目,路线数目 int mz[MAX];//mz[i]编号i地区相邻地区的数目 int edge[MAX][10]; //edge[i原创 2013-09-20 10:43:15 · 561 阅读 · 0 评论 -
zoj 2412 Farm Irrigation
//深搜一开始一直SF,后来又把上下左右方向给搞乱了 //总之做题还是不够细心,哎。。。 #include #include #include #define MAX 51 using namespace std; char map[MAX][MAX]; bool vis[MAX][MAX]; int m,n; int num; struct Node{ bool up,dow原创 2013-09-05 12:25:37 · 440 阅读 · 0 评论 -
zoj 1136 Multiple
//BFS+同余 为了防止得数过大,需要保存余数,以字符串的形式保存结果,然后判重,否则有可能SF 思想: 1 假设 有数 1,2,3 显然应从小到大枚举这3个数字构成的数,当然数会很大,高精度 1,2,3 11,12,13, 111,112,113, 121,122,123, .....................原创 2013-10-04 10:14:05 · 441 阅读 · 0 评论 -
zoj 1649 Rescue
//本题要求从r位置出发到达Angel所在位置并且所需时间最少.适合采用BFS求解。 //但BFS算法求出来的最优解通常是步数最少的解,而在本题中步数最少的解不一定是最优解。 //定义一个mintime[i][j]表示到i,j的最少时间。 从某个位置出发判断是否需要将他的相邻位置(x,y)入队列时,条件是比之前走法所花时间更少。如果 所化时间更少则(x,y)位置会重复入队列。但不会无穷下去原创 2013-09-07 20:23:08 · 398 阅读 · 0 评论 -
zoj 2165 Red and Black
//简单题,深搜或宽搜都可以。 #include #define MAX 21 int w,h; int count; int grid[MAX][MAX]; int dir[4][2]= { 0,1, 1,0, 0,-1, -1,0 }; void dfs(int x,int y) { count++; grid[x][y]='#'; int i,xx,yy;原创 2013-09-04 12:19:21 · 617 阅读 · 0 评论 -
zoj 2562 More Divisors
//经典题,反素数 定义 对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0 性质 性质一:一个反素数的质因子必然是从2开始连续的质数. 性质二:p=2^t1*3^t2*5^t3*7^t4.....必然t1>=t2>=t3>=.... 搞不懂的是为什么typedef long long 会比 每个long l原创 2013-09-14 21:48:24 · 451 阅读 · 0 评论 -
zoj 1530 Find The Multiple
//前几天做了个1136,看到这题和它挺相似的不过此题没用BFS做,偷了懒看别人都是用dfs加随机化算法做的 所以就学习下。因为题目要求任意结果都是accepttable,可以用随机化算法优化。为了防止一直向左或右搜索。 #include #include #include #include #define MAX 99 int n; int num[MAX]; bool flag; v原创 2013-10-06 16:15:38 · 798 阅读 · 0 评论