![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论——简单搜索
倚剑笑紅尘
教练,我想学kaldi!
展开
-
POJ 1321-棋盘问题(A)
一道简单的深搜题,深搜函数的参数为当前行数和剩余需要摆放的棋子数,对每行每个可放的棋子位置进行深搜,或者该行不放棋子。#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>using namespace std;#define maxn 10int n,k,num;bool vis[maxn];//判原创 2017-07-05 15:08:21 · 289 阅读 · 0 评论 -
UVA11624 Fire! 两次BFS(J)
Fire!Joe works in a maze. Unfortunately,portions of the maze have caught on fire, and the owner of the maze neglectedto create a fire escape plan. Help Joe escape the maze.Given Joe's location in原创 2017-07-07 16:16:08 · 345 阅读 · 0 评论 -
FZU 2150 Fire Game(I)
Problem 2150 Fire Game Accept: 2332 Submit: 8128Time Limit: 1000 mSec Memory Limit : 32768 KB Problem DescriptionFat brother and Maze are playing a kind of special (hentai) gam原创 2017-07-07 14:42:38 · 290 阅读 · 0 评论 -
POJ 3414 Pots (BFS) (H)
PotsTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 17080Accepted: 7238Special JudgeDescriptionYou are given two pots, having the volume of A原创 2017-07-07 11:33:26 · 195 阅读 · 0 评论 -
POJ 3087 Shuffle'm Up(模拟) (G)
Shuffle'm UpTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7404 Accepted: 3421DescriptionA common pastime for poker players at a poker table is to shuf原创 2017-07-07 10:36:11 · 263 阅读 · 0 评论 -
POJ 3279 Fliptile (暴力枚举)(D)
题意:给出m行 n列 由0和1组成的矩阵 现在需要经他们全部翻转成0翻转规则为:翻转的点和周围四个点同时翻转 即0变1 1变0最后如果有多个解 输出次数最少的情况 如果翻转次数相同 则输出字典序最小的 思路:翻转2次等于不翻 所有每个位置要么不翻要么不翻如果第一行的翻转次数确定的话 那么剩下位置的翻转次数也唯一确定第一行的所有情况为2^n次 枚举即可#inc原创 2017-07-06 17:47:26 · 254 阅读 · 0 评论 -
HDU1241 Oil Deposits (L)
题意:给以个n*m的矩阵 ‘@’代表有矿 ‘*’代表没矿 @之间彼此连接在一起的算作是一处矿(包括水平 竖直 斜对角接触) 输出共有多少出矿藏思路: 从第一个位置开始枚举 如果遇到@ 个数就加一 并且将它周围的@设置为已经访问过 同时对周围的@的周围进行探索 直到没有为止 重复上述操作 直到所有格子都已经被枚举完为止其中要加k用于区分 是不是这堆矿中第一个矿点 防止原创 2017-07-05 23:42:09 · 228 阅读 · 0 评论 -
HDU 2612 Find a way(双BFS) (N)
题意:两个人分别从Y,M两个点出发,到达途中的一个@点,求最少的两个时间和。其中.代表道路可走,#代表障碍不能走,不走一步需要11分钟,并且最后题目一定会有个@点两者均能到达思路:双BFS,从两个点分别bfs计算到其他点最小距离,然后两个相加找一个最小的即可。其中有个一容易WA的点是,因为可能某个@点不能到达,所以距离为0,不要判定最小时就当他为0了,需要把不能到达的点排除掉#incl原创 2017-07-06 15:30:37 · 239 阅读 · 0 评论 -
HDU 1495 非常可乐(广搜BFS) (M)
题意:相当于泊松分酒问题的简化版 三个杯子 容量为a,b,c 且a==b+c,一开始的时候a装满,求最少步数均分,如果不能输出NO思路:广搜 每次都搜索6个操作 就是他们互相倒来倒去 用vis数组来判断这个状态是否已经出现过了进行剪枝#include#include#include#include#include#includeusing namespace std;原创 2017-07-06 10:45:22 · 325 阅读 · 0 评论 -
K - 迷宫问题
题意:一个5*5的矩阵从左上角(0,0)到右下角(4,4)的最短路径 0代表可走 1代表障碍不能走思路:用pair存坐标放在queue中用于广搜 同时用一个结构体记录每个点的前一个结点 最后处理下输出即可#include#include#include#include#include#includeusing namespace std;#define maxn 6i原创 2017-07-05 23:01:46 · 366 阅读 · 0 评论 -
POJ 3126 Prime Path (BFS) (F)
题意:给出两个数 求左边的数变到右边的数需要几步变得方法是: 从一个四位数变成另一个四位数,每次只能变其中的一位数,且每次变的数都是质数(题目给出的两数均为质数)思路:在输入之前 先用数组将1-10000内的质数全部进行标记枚举 从第一位到第四位 每位的数字从0到9,一一检验是否为质数 是的话 他的步数为前者+1,同时标记已经被访问过了 #include#incl原创 2017-07-05 21:04:51 · 325 阅读 · 0 评论 -
POJ1426 Find The Multiple(E)
题目大意是给出一个数n,找出一个数要求是n的倍数,并且这个数的十进制只由1和0组成,要求输出任意一个满足该条件的m可以用深搜 从1开始每次对他*10和*10+1查找能否被n整除 这个数应该是longlong范围内(不要问为什么 我猜的) 所以根据longlong范围 最多乘19次 #include#include#include#include#includeusing na原创 2017-07-05 20:09:17 · 268 阅读 · 0 评论 -
HDU2717 Catch That Cow(C)
题意:给出初始点和目的地的位置。 有两种交通方式:步行和远程传送。 步行:可以在一分钟内从任何点X移动到X-1或X + 1点 传送:可以在一分钟内从任何点X移动到点2×X。 问最少几分钟到达目的地#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<qu原创 2017-07-05 17:54:40 · 299 阅读 · 0 评论 -
poj2251 Dungeon Master(B)
题意:你被困在三维空间中,给你高宽长和地图,问最少走几步才能走出迷宫 #是障碍不能走 .是空地可以走 思路:因为是求最少步数,显然是一道广搜的题目。用pair来存储坐标,然后用队列来进行广搜。#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<queue>using namesp原创 2017-07-05 16:27:52 · 321 阅读 · 0 评论 -
hdu 5952 Counting Cliques(dfs优化) 2016ACM/ICPC亚洲区沈阳站
题目链接;点击打开链接题目大意:给一n个点m条边的图,找一个有s个顶点的完全子图。什么是完全子图?即子图中每个点到其他点都有一条边相连思路:对于每个s点完全子图,如果i点在子图中,那么就枚举与i有边的其他点,每加入一个点,就判断一下是否和其他已加入的点有边,如果是就可以加入,否则不能加。 最后再优化一下:防止重复计算,对于搜过点从图中删去。这样就不用标记判重了原创 2017-08-28 21:22:52 · 343 阅读 · 0 评论