搜索
一些搜索方面的编程题
NeverMoreH
^_^
展开
-
uvalive5992(搜索)
题意:给出一个n*m的图,‘.’可以走,‘#’不能走,图中有字母‘a’~‘z’,每个时间每个字母会向四联通的四个格子扩散,如果两个字母相遇,那个格子会变成‘*’,问最后的图长什么样。思路:从每个字母开始搜,记录一下就好了。代码:#include#include#include#include#include#include#include#incl原创 2015-08-29 11:22:40 · 412 阅读 · 0 评论 -
uva1509(暴力dfs)
题意:给出两个字符串,第一个字符串中的每个字符(只包括小写字母)最多可以变成k(k思路:串的长度只有15,直接暴力,用dfs+回溯去枚举所有情况。代码:#include#include#include#include#include#include#include#include#include#include#include#include原创 2015-08-14 17:08:05 · 424 阅读 · 0 评论 -
hdu3699(不等式dfs)
题意:给出三个串,只由A~E组成,每个串的长度最长是8,字符相同代表那个位置的数字相同,数字可以是0~9,例如:ABBDE() ABCCC=BDBDE 可以是12245+12000=24245()位置可以填+、-、*、\,问你有多少种填法。思路:dfs,最多只由五种字母,我们就把每种字母都代表什么都试一遍,统计结果即可。代码:#include#incl原创 2015-08-12 17:01:34 · 381 阅读 · 0 评论 -
uva1507(状态压缩+dfs)
题意:给出我们n种物品,每种物品都有五个值,分别是a、b、c、d、e,我们要在这n个物品中选出k个,使得这k个物品中的max{a}+max{b}+max{c}+max{d}+max{e}最大,输出最大值。思路:n的范围有10000,而每个人只有五个值,我们不能从n入手,可以从这五个值入手。五个值,我们可以用二进制进行压缩,对于一个物品,我们用00000~11111来表示所有原创 2015-08-14 17:03:47 · 349 阅读 · 0 评论 -
hihoCoder1233(2015北京网络赛H题)
转载自:http://blog.csdn.net/queuelovestack/article/details/48625899 题意:有n个卡槽,放有体积不同的n个空盒子,每次你可以移动一个空盒子到相邻卡槽,但前提是相邻卡槽若已经有空盒子,那么要移动的空盒子体积必须小于已有的空盒子,问要移动多少步才能使得从左到右,每个卡槽空盒子的体积递增。现用①表示1号卡槽,②表示2号卡槽,依次类...原创 2015-09-22 12:03:49 · 606 阅读 · 0 评论 -
hdu4096(模拟)
题意:给出一些句子,代表一些名词和动词的关系,然后有一些查询,看查询语句中的关系是否正确。思路:按照题意建边,查询时找两个点有没有路径即可。代码:#include #include #include #include #include #include #include using namespace std;map mm;map nn;i原创 2015-10-11 15:55:37 · 358 阅读 · 0 评论