ACM_搜索专项
acceptedwwh
当代大学生,阳光开朗,乐于交往和求知!
展开
-
hdu1175(连连看)
#include #include #include using namespace std;const int maxn = 1010;const int INF = 5;int n = 0, m = 0, q = 0;int map[maxn][maxn];int x1=0, y1=0, x2=0, y2=0;int dr[4][2] = {{0, 1},原创 2012-09-26 22:31:15 · 923 阅读 · 0 评论 -
奇怪的比赛(蓝桥杯)
四、奇怪的比赛 某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。 每位选手都有一个起步的分数为10分。 某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个原创 2013-05-04 19:43:51 · 1949 阅读 · 0 评论 -
hdu2610Sequence one
#include #include #include #include #include #include #include #include #include using namespace std;const int maxn = 10010;const int maxm = 1100;struct node { int value; int index;};n原创 2013-08-04 16:55:39 · 1018 阅读 · 0 评论 -
棋盘寻宝扩展(微策略2012年校园招聘笔试题)
题目1532:棋盘寻宝扩展时间限制:1 秒内存限制:128 兆特殊判题:否提交:155解决:72题目描述:现在有一个8*8的棋盘,上面放着64个不同价值的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于0小于100),一个人初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下角。原创 2013-08-19 10:39:46 · 2187 阅读 · 0 评论 -
TOJ3445 Zipper
Zipper Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 24 Accepted: 12DescriptionGiven three strings, you are to determine whether the原创 2013-08-22 22:19:28 · 1026 阅读 · 0 评论 -
TOJ简单版贪吃蛇(bfs)
简单版贪吃蛇 Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 22 Accepted: 13 Special JudgeDescription现在我们来简化蛇的身体,假设初始化的时候蛇的身体只有一个头而已(呵,当然是假设的),原创 2013-08-23 23:08:31 · 1879 阅读 · 0 评论 -
营救天使(bfs)
营救天使 Time Limit(Common/Java):1000MS/10000MS Memory Limit:65536KByteTotal Submit: 46 Accepted: 17DescriptionAngel was caught by the MOLIGPY! He was put in prison by Moli原创 2013-08-23 23:03:44 · 1494 阅读 · 0 评论 -
解救小Q(bfs)
解救小Q Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 16 Accepted: 3Description小Q被邪恶的大魔王困在了迷宫里,love8909决定去解救她。迷宫里面有一些陷阱,一旦走到陷阱里,就会被困身亡:(原创 2013-08-23 22:55:52 · 1611 阅读 · 0 评论 -
TOJ3660家庭关系(并查集+hash+图的连通性)
家庭关系 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交: 38 测试通过: 9描述给定若干家庭成员之间的关系,判断2个人是否属于同一家庭,即2个人之间均可以通过这些关系直接或者间接联系。输入输入数据有多组,每组数据的第一行为一个正整原创 2013-08-31 20:27:18 · 1276 阅读 · 0 评论 -
HDU1181 变形课
抽象建图+DFS原创 2014-04-14 17:19:58 · 945 阅读 · 0 评论 -
HDU1016 Prime Ring Problem
HDU1016原创 2014-04-15 10:49:36 · 874 阅读 · 0 评论 -
HDU1518 & POJ2362 & ZOJ1909 Square
DFS+剪枝原创 2014-04-17 11:32:16 · 1219 阅读 · 0 评论 -
POJ1011 stick
搜索+剪枝原创 2014-04-16 22:28:59 · 792 阅读 · 0 评论 -
POJ1979(Red and Black)
Red and BlackTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 18460 Accepted: 9794DescriptionThere is a rectangular room, covered with square tiles. Each t原创 2013-04-11 19:51:08 · 1194 阅读 · 0 评论 -
POJ2248Addition Chains(dfs+剪枝)
Addition ChainsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 4388 Accepted: 2406 Special JudgeDescriptionAn addition chain for n is an integer seque原创 2013-04-03 21:27:12 · 1069 阅读 · 0 评论 -
深度优先搜索及拓扑排序(链式前向星实现)
算法导论:P330#include #include #include #include #define white 0#define gray 1#define black 2#define NIL -1using namespace std;typedef struct node{ int w; int to; int next;原创 2012-09-16 18:49:03 · 1930 阅读 · 0 评论 -
迷宫问题(DFS实现)
#include #include #include using namespace std;const int maxn = 100;int n = 0, m = 0;int startx = 0, starty = 0;int exitx = 0, exity = 0;int map[maxn][maxn];int dx[4] = {0, 1, 0, -1};int dy原创 2012-10-13 19:23:42 · 3904 阅读 · 0 评论 -
求和为某个数的元素(DFS)
#include #include #define MAX 10000using namespace std;int n = 0, M = 0;bool flag[MAX];int f[MAX];int sum = 0;int s[3];int DFS(int i) { printf("DFS(%d)\n", i); getchar(); if (i原创 2012-10-13 21:08:38 · 943 阅读 · 0 评论 -
油田合并(dfs实现)
#include #include #include #define M 55using namespace std;char s[M][M];int n, m, many;int map[M][M];int dfs(int i, int j){ map[i][j] = 1; if(i+1<n&&s[i+1][j]=='@'&&map[i+1][j]==0){原创 2012-10-17 21:07:58 · 1598 阅读 · 0 评论 -
排列数的生成(DFS)
#include #include #include #include #define maxn 10000using namespace std;int n, m;int a[maxn], temp[maxn];int tag[maxn];int cou;void print(){ for(int i = 0; i < m; i++){ printf原创 2012-10-28 09:09:08 · 899 阅读 · 0 评论 -
DFS&BFS(链式前向星实现)
#include #include #include #define maxn 10000#define maxm 100using namespace std;typedef struct EdgeNode{ int to; int w; int next;};EdgeNode edges[maxm];int head[maxm];int edgenu原创 2012-10-20 11:18:49 · 1661 阅读 · 0 评论 -
求解迷宫(DFS)
#include #include #include using namespace std;const int maxn = 100;int n = 0, m = 0;int startx = 0, starty = 0;int exitx = 0, exity = 0;int map[maxn][maxn];int dx[4] = {0, 1, 0, -1};int d原创 2012-09-22 19:09:02 · 985 阅读 · 1 评论 -
hdu1325(Is it a tree)
#include #include #include #include const int maxn = 110000;const int maxm = 110000;using namespace std;typedef struct node { int to; int next;}node;node edge[maxm];int head[maxn];原创 2012-10-21 16:01:05 · 987 阅读 · 0 评论 -
组合数的生成(DFS)
#include #include #define maxn 10000using namespace std;int b[maxn];int r, n;void dfs(int lev, int p){ int i, j; if(lev > r){ for(i = 1; i <= r; i++){ printf("%d ",原创 2012-10-27 00:02:01 · 1579 阅读 · 0 评论 -
组合数的生成(II)
#include #include #define maxn 1000using namespace std;int hash[maxn];int b[maxn];int r, n;void dfs(int lev){ if(lev > r){ for(int i = 1; i <= r; i++){ printf("%d ", b原创 2012-10-27 09:24:38 · 1407 阅读 · 1 评论 -
最短路径问题(BFS)
#include #include #include #include using namespace std;const int maxn = 1000;struct locat{ int x; int y; int sum; ///存放当前到达此处最小值 int pre; ///原始值,不变的。 bool mark;///标记此处已经访问原创 2013-03-15 22:19:14 · 1394 阅读 · 0 评论 -
zoj2110Tempter of the Bone
#include #include #include #include using namespace std;int d[4][2] = {{0, -1}, {-1, 0}, {0, 1}, {1, 0} };int N, M, T;char map1[10][10];int flag[10][10];int sx, sy, ex, ey;bool res;///repre原创 2013-04-02 20:15:54 · 1032 阅读 · 0 评论 -
POJ3669Meteor Shower
POJ3669原创 2015-05-12 18:12:04 · 459 阅读 · 0 评论