搜索
Script-Boy
这个作者很懒,什么都没留下…
展开
-
zoj 1179 Finding Rectangles
据说可以用动态规化解,想不出来就用爆搜结果过了。输出格式让我纠结了很久一直WA#include#include#define MAX 27struct 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 · 385 阅读 · 0 评论 -
zoj 2913 Bus Pass
//BFS经典题#include#include#include#include#include#define MAX 10000#define INF 1000000using namespace std;int nz,nr; // 地区数目,路线数目int mz[MAX];//mz[i]编号i地区相邻地区的数目int edge[MAX][10]; //edge[i原创 2013-09-20 10:43:15 · 567 阅读 · 0 评论 -
zoj 2412 Farm Irrigation
//深搜一开始一直SF,后来又把上下左右方向给搞乱了//总之做题还是不够细心,哎。。。#include#include#include#define MAX 51using 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 · 448 阅读 · 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 · 447 阅读 · 0 评论 -
zoj 1649 Rescue
//本题要求从r位置出发到达Angel所在位置并且所需时间最少.适合采用BFS求解。//但BFS算法求出来的最优解通常是步数最少的解,而在本题中步数最少的解不一定是最优解。//定义一个mintime[i][j]表示到i,j的最少时间。从某个位置出发判断是否需要将他的相邻位置(x,y)入队列时,条件是比之前走法所花时间更少。如果所化时间更少则(x,y)位置会重复入队列。但不会无穷下去原创 2013-09-07 20:23:08 · 404 阅读 · 0 评论 -
zoj 2165 Red and Black
//简单题,深搜或宽搜都可以。#include#define MAX 21int 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 · 622 阅读 · 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 · 453 阅读 · 0 评论 -
zoj 1530 Find The Multiple
//前几天做了个1136,看到这题和它挺相似的不过此题没用BFS做,偷了懒看别人都是用dfs加随机化算法做的所以就学习下。因为题目要求任意结果都是accepttable,可以用随机化算法优化。为了防止一直向左或右搜索。#include#include#include#include#define MAX 99int n;int num[MAX];bool flag;v原创 2013-10-06 16:15:38 · 807 阅读 · 0 评论