hdu1560 搜索
从原串的最大长度开始枚举,当某个长度的值能保存所有串时,即成功。对每个长度进行深搜,每次取某个串的第一个。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>
using namespace std;
char str[][];
int flag=,len[],n;
int getlen(int *a)
{
int i,ans=;
for(i=;i<n;i++)
ans=max(ans,a[i]);
return ans;
}
void IDA(int *l,int nowlen)
{
int i,j;
if(flag)//找到了,便不用再往下找
return ;
if(getlen(l)>nowlen)//剩下的串中最短的串比预计长度要长
return ;
if(nowlen==)//找到,进行标记
{
flag=;
return ;
}
int vi[];
memset(vi,,sizeof(vi));
for(i=;i<n;i++)
{
if(!vi[i]&&l[i])//没有取出剩下串的首字符
{
int temp[];
for(j=;j<n;j++)
temp[j]=l[j];
vi[i]=;
char ch=str[i][len[i]-l[i]];
temp[i]--;
for(j=i+;j<n;j++)
{
if(str[j][len[j]-l[j]]==ch&&!vi[j]&&l[j])
{
vi[j]=;
temp[j]--;
}
}
IDA(temp,nowlen-);
}
}
return ;
}
int main()
{
int i,j,t,low;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
low=;
for(i=;i<n;i++)
{
scanf("%s",&str[i]);
len[i]=strlen(str[i]);
low=max(low,len[i]);
}
flag=;
while()
{
IDA(len,low);
if(flag)
{
printf("%d\n",low);
break;
}
low++;
}
}
return ;
}
hdu1560 搜索的更多相关文章
- HDU1560(迭代加深搜索)
DNA sequence Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- hdu&&poj搜索题题号
搜索 hdu1067 哈希 hdu1401 双向搜索 hdu1430 哈希 hdu1667 跌搜+启发式函数 hdu1685 启发式搜索 hdu1813 启发式搜索 hdu1885 状态压缩搜索 hd ...
- SQLSERVER走起微信公众帐号已经开通搜狗微信搜索
SQLSERVER走起微信公众帐号已经开通搜狗微信搜索 请打开下面链接 http://weixin.sogou.com/gzh?openid=oIWsFt-hiIb_oYqQHaBMoNwRB2wM ...
- solr_架构案例【京东站内搜索】(附程序源代码)
注意事项:首先要保证部署solr服务的Tomcat容器和检索solr服务中数据的Tomcat容器,它们的端口号不能发生冲突,否则web程序是不可能运行起来的. 一:solr服务的端口号.我这里的sol ...
- SQLServer地址搜索性能优化例子
这是一个很久以前的例子,现在在整理资料时无意发现,就拿出来再改写分享. 1.需求 1.1 基本需求: 根据输入的地址关键字,搜索出完整的地址路径,耗时要控制在几十毫秒内. 1.2 数据库地址表结构和数 ...
- HTML5轻松实现搜索框提示文字点击消失---及placeholder颜色的设置
在做搜索框的时候无意间发现html5的input里有个placeholder属性能轻松实现提示文字点击消失功能,之前还傻傻的在用js来实现类似功能... 示例 <form action=&quo ...
- bzoj1079--记忆化搜索
题目大意:有n个木块排成一行,从左到右依次编号为1~n.你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块.所有油漆刚好足够涂满所有木块,即c1+c2+...+ck=n.相邻两个木块涂相同色显得 ...
- bzoj3208--记忆化搜索
题目大意: 花花山峰峦起伏,峰顶常年被雪,Memphis打算帮花花山风景区的人员开发一个滑雪项目. 我们可以把风景区看作一个n*n的地图,每个点有它的初始高度,滑雪只能从高处往低处滑[严格大于] ...
- Android中通过ActionBar为标题栏添加搜索以及分享视窗
在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果.Action ...
随机推荐
- UVA 10054 The Necklace(欧拉回路,打印路径)
题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- hdu 4496 (并差集)
题意:给出一个图,m条边,输出删除前i条边后该图的联通块的个数. 思路:刚开始想着是不是联通问题,后来看明白题意后知道,如果从最后一条边添加的话,答案就会出来了,就是并差集的操作. #include& ...
- Educational Codeforces Round 10 D. Nested Segments (树状数组)
题目链接:http://codeforces.com/problemset/problem/652/D 给你n个不同的区间,L或者R不会出现相同的数字,问你每一个区间包含多少个区间. 我是先把每个区间 ...
- Autofac介绍
原帖:http://www.cnblogs.com/xupng/archive/2011/07/12/2104766.html Autofac为何物?它是.NET世界里现存的几种IOC框架其中之一,传 ...
- Check Box 用法
void CMyDlg::OnInitDialog() //Check1 初始化为选中状态 void CMyDlg::OnInitDialog() { CDialog::OnInitDialog(); ...
- ssm框架查询数据并实现分页功能示例
/** * DataGrid对象 * */ @SuppressWarnings("rawtypes") public class DataGrid { private int to ...
- UVA12219
//by Rujia Liu /* 字符串的对比是缓慢的. 鉴于这道题最多只有四个小写字母, 也就是最多26*4种情况, 我们完全可以用整数来代替字符串. 一种比较简单的做法是把字符串看成一个四位的2 ...
- jQuery提交Json数据到Webservice,并接收返回的Json数据
jQuery ajax webservice:get 和 post 一.GET 方式 客户端 复制代码 代码如下: var data = { classCode: "0001"}; ...
- Keil C51基本数据类型
- cdoj 1255 斓少摘苹果 贪心
斓少摘苹果 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1255 Descr ...