
DFS
KLFTESPACE
这个作者很懒,什么都没留下…
展开
-
算法训练 拦截导弹
问题描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要...原创 2018-08-30 20:04:28 · 346 阅读 · 0 评论 -
历届试题 幸运数
#include<iostream>#include<algorithm>using namespace std;const int N = 100000+5;int a[N];void init(){ for(int i=0; i<N; i++){ a[i] = 2*i+1; } } int l, r;void d...原创 2019-04-01 11:14:02 · 155 阅读 · 0 评论 -
历届试题 地宫取宝
#include<iostream>#include<cstring>using namespace std;typedef long long ll;const int N = 55;const int MOD = 1000000007;const int inf = 0x3f3f3f3f; int map[N][N];int dp[N][N]...原创 2019-05-21 22:41:35 · 184 阅读 · 0 评论 -
历届试题 分糖果
//可dfs,也可直接暴力,暴力的时候遇到了问题,比如 flag刚开始设为false,判断一直为false 则退出,,,但是死循环,然后,初始为true就过了..................//dfs /*#include <cstdio>#include<iostream> #include <cstring> #i...原创 2019-05-22 14:57:45 · 187 阅读 · 0 评论 -
历届试题 正则问题
#include<iostream>#include<cstdio>#include<cstring>using namespace std;string s;int pos = 0; int dfs(){ int tmp = 0, cnt = 0; while(s[pos]){ if(s[pos] == '('){ ...原创 2019-05-22 17:36:48 · 155 阅读 · 0 评论 -
历届试题 合根植物
#include<iostream>#include<cstdio>#include<vector>using namespace std;const int N=1000000+5;vector<int> V[N];//因为是两个点,无权值之类的,所以不需要构造结构体 int vis[N] = {0};void dfs(i...原创 2019-05-23 13:29:16 · 173 阅读 · 0 评论 -
历届试题 分考场
//.....无向图...两条边都要加入....掉了两次坑了.....还有 剪枝的时候,==也要考虑到,不能只考虑到大于的情况....会超时#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cstdlib&...原创 2019-05-23 17:57:03 · 155 阅读 · 0 评论 -
历届试题 发现环
//蠢到自己了.....//n懒得传参...然鹅,我在main函数里,,将他自减为0了...调了好久,,还有就是表及问题...刚开始未进dfs时标记,dfs开头第一个判断是否拜访过,拜访过,则考虑邻接表下一个值....导致遇到环了 ,但是被标记,无法进入输出循环里........然后 改了下标记顺序,在递归前标记......递归后去掉标记#include<iostream>...原创 2019-05-23 20:57:35 · 189 阅读 · 0 评论 -
Find The Multiple POJ - 1426
//7.9做的....但是当时RE了,就不想在调试了....今天重看了下,发现输入少了个条件,即不为0#include<iostream>#include<cstdio>#include<cmath>using namespace std;typedef unsigned long long LL;bool flag;void dfs(L...原创 2019-07-21 19:18:28 · 119 阅读 · 0 评论 -
哈密顿绕行世界问题 HDU - 2181
//dfs用一个数组就可以得出所有路径了#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int u[21][3], m;int vis[25];int...原创 2019-07-27 19:50:04 · 109 阅读 · 0 评论 -
Reward HDU - 2647(两种解法:dfs, 拓扑)
//在做的时候,邻接表构造错了,导致出现死循环问题tle。。。还有就是topo里面sum写在了if外,,,,导致计数错误WA//dfs已解出#include<iostream>#include<cstdio>#include <string.h>#include<algorithm>#include<queue>u...原创 2019-03-15 22:47:40 · 168 阅读 · 0 评论 -
8 Queens Chess Problem UVA - 750 (很久之前WA,,然后 现在改了一点之后 PE,,又改了一会A了)
PEIn chess it is possible to place eight queens on the board so that no one queen can be taken by any other. Write a program that will determine all such possible arrangements for eight queens given t...原创 2018-10-12 22:08:32 · 391 阅读 · 0 评论 -
算法训练 摆动序列
问题描述 如果一个序列满足下面的性质,我们就将它称为摆动序列: 1. 序列中的所有数都是不大于k的正整数; 2. 序列中至少有两个数。 3. 序列中的数两两不相等; 4. 如果第i – 1个数比第i – 2个数大,则第i个数比第i – 2个数小;如果第i – 1个数比第i – 2个数小,则第i个数比第i – 2个数大。 比如,当k = 3时,有下面几个这样的序列: 1...原创 2018-08-29 18:26:31 · 275 阅读 · 0 评论 -
算法训练 幂方分解
问题描述 任何一个正整数都可以用2的幂次方表示。例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b)。 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步:7= 22+2+20 (21用2表示) 3=2+20 所以最后137可表示为: 2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如: ...原创 2018-08-29 21:17:20 · 186 阅读 · 0 评论 -
八皇后问题 [OpenJ_Bailian-2698]
在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。Input无输入。Output按给定顺序和格式输出所有八皇后问题的解(见Sample Output)。Sample Input Sample OutputNo. 11 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ...原创 2018-08-25 20:35:00 · 257 阅读 · 0 评论 -
算法训练 王、后传说
问题描述 地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横、坚、斜线位置。 看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地。各皇后都有自己的势力范围,但也总能找到相安无事的办法。 所有中国人都知道,皇权神圣,伴君如伴虎,触龙颜者死...... 现在有一个n*n的皇宫,国王占据他所在位置及周围的共9个格子,这些格子皇后不能使用(如果国王在王宫的边上,占用的...原创 2018-09-07 18:24:51 · 241 阅读 · 0 评论 -
算法提高 8皇后·改
问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大。输入格式 一个8*8的棋盘。输出格式 所能得到的最大数字和样例输入1 2 3 4 5 6 7 89 10 11 12 13 14 15 1617 18 19 20 21 22 23 2425 26 27 28 29 30 31 3233 34 35 36 37 38 3...原创 2018-09-25 16:39:46 · 235 阅读 · 0 评论 -
棋盘问题POJ 1321
#include <iostream>#include<cstring>using namespace std;char c[8+5][8+5];int n, m, cnt = 0;int judge(int t1, int t2){ for(int i=1; i<=n; i++){ if(c[t1][i] == '*'...原创 2019-02-15 18:07:25 · 168 阅读 · 0 评论 -
Robot Motion
刚开始是想 用map来表示下字符的方向//typedef pair<int, int> PII;//map<char, PII> MYDir;//pair<int, int>p = make_pair(-1, 0);然后,,,一直编译有错,,不知道可不可以用 后来,想着用结构体数组表示下就好了,然后,,结构体的运行结果一直有错(代码附在最后...原创 2019-02-22 17:50:18 · 145 阅读 · 0 评论 -
Division (DFS)UVA725
我用DFS解了一下这个题,直接暴力也可以,不过我想练练DFS然后,,本来应该挺简单的,结果tmp/=10这处位置写错了,一直WA,,然后,,,调了好久,才找出来。还有就是PE,,格式也有要求........//思路:每位由0-9进行遍历,判断是否使用过,如未用,选择下一位的数。数位够5以后,计算tmp#include <iostream>#include <c...原创 2019-02-24 17:39:51 · 210 阅读 · 0 评论 -
The Sultan's Successors UVA - 167
//很久以前做的了,当时WA,一直没找到错误...然后今天看了下。。。发现就是每次开始新一轮年的时候没哟初始化.......The Sultan of Nubia has no children, so she has decided that the country will be split into up to k separate parts on her death and each...原创 2018-10-11 09:49:22 · 203 阅读 · 0 评论 -
神龙的难题 FZU - 1686
//刚开始TLE了...然后改成启发式搜索(必须<=,只有<也会TLE)WA了区别可能是AC代码只需要在找到选择一行的时候,只删去这一行上所有点的列WA代码的删除部分则是//删去所有与当前行中1相互矛盾的行即for循环删去该行j列中所有1的行(除了num本身)AC代码:#include <iostream>#include <cstdio>...原创 2019-08-19 22:43:01 · 126 阅读 · 0 评论