[kuangbin带你飞]专题一 简单搜索
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
B - Dungeon Master POJ - 2251
一个水平上下左右&垂直上下的bfs第一次看的时候没看懂题目23333
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
C - Catch That Cow POJ - 3278
没啥好讲的 简单bfs就完事了
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
D - Fliptile POJ - 3279
这个就是传说中的状态转移啦 。就是说前一层的状态一定取决于下一层的状态 也就是说只要确定第一层的状态 其他剩下的状态都是确定的 同时这个问题也是开关问题的延伸(二维开关问题)
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
E - Find The Multiple POJ - 1426
题意:给定一个数字 找一串01串能整除这个数 其实这个题目的位数没有那么可怕 。(至少没有100位) longlong是够用的
所以说01串直接bfs可得
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
F - Prime Path POJ - 3126
先打一个素数表
之后bfs一位一位搜啊。。
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
G - Shuffle'm Up POJ - 3087
照题意模拟就行了 不过要确定最后上面的是s1 还是下面的是s1
(其实我觉得这题可能划分为模拟题更好一点 )
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
H - Pots POJ - 3414
讲道理这道题应该是这套题里最难的一道了吧。。。
首先呢这道题的前置知识有
K,M
其实这道题就是k和m的结合版 不过因为输出impossible大写了wa了一发就是了qwq
感觉我的代码写的好丑- -
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
I - Fire Game FZU - 2150
这道题就是说给你两个人 放火 看看能不能把草放光
先用dfs求一下联通块$x$如果$x>2$则不能 其余情况均可以
但是~~
坑点在于
草不一定>=2 也有可能草=1 这样一个人点火就行了
思维定势啊 话说这个题目真的有点恶趣味233333
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
J - Fire! UVA - 11624
先将火烧到的时间处理一下 之后呢再处理人的位置 两次bfs 如果人到的时间<火到的时间 就将他压入队列中 要注意的是火可能有多个
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
K - 迷宫问题 POJ - 3984
bfs追溯路径问题 我是用链表来存储路径的(其实是网上写的递归我看不懂。。)
存储一个前置节点就好啦
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
L - Oil Deposits HDU - 1241
没啥好说的,dfs入门水题 求联通块问题
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
M - 非常可乐 HDU - 1495
这个就是一个状态的问题额 设定状态一步步dfs直到为空或者到要的结果就好了哦
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include
N - Find a way HDU - 2612
一开始想的是每一个$@$也就是kfc bfs一下 但是T了qwq
后来想了想两次bfs就好了 然后去每个kfc的最小值喵
/*
author:hdsdogge
begin:
end:
cost:
*/
#include
#include
#include
#include