题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2585

题目大意:马克思要找个曾经去过的很好的旅馆,可惜他记不完整旅馆的名字。他有已知的部分信息和可能的旅馆全称,输出匹配的旅馆名个数。已知信息中‘*’代表此处为0或多个小写字母,‘?’代表此处仅有一个小字母。

代码如下

//匹配字符串递归
#include<iostream>
#include<string>
using namespace std;
bool find(string a,string b)
{
int i,j;
for(i=0;i<a.length();i++)
{
if(a[i]=='*')
{
if(i==a.length()-1)
return true;
//若在字符串末尾,显然符合要求;
string c=a.substr(i+1);
//否则取其后子串;
//该子串若与b后任意子串符合要求
for(j=i;j<b.length();j++)
if(find(c,b.substr(j))) return 1;
}
else
{
if(i>=b.length()) return 0;
if(a[i]=='?') continue;
if(a[i]!=b[i]) return 0;
}
}
return 1;
} int main()
{
int ans;
string a,b;
while(cin >> a)
{
int k;
ans=0;
cin >> k;
while(k--)
{
cin>>b;
if(find(a,b)) ans+=1;
}
printf("%d\n",ans);
}
return 0;
}

  

HDU 2585 [Hotel]字符串递归处理的更多相关文章

  1. HDU 2585 Hotel(字符串的模糊匹配+递归)

    Problem Description Last year summer Max traveled to California for his vacation. He had a great tim ...

  2. HDU 1274 展开字符串 (递归+string类)

    题目链接:HDU 1274 展开字符串 中文题. 左括号进入DFS函数,右括号return到上一层. 注意return回去的是这个一层递归中的括号中的字母串. AC代码: #include<st ...

  3. hdu 5510 Bazinga(字符串kmp)

    Bazinga Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  4. hdu 4622 Reincarnation 字符串hash 模板题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4622 题意:给定一个长度不超过2000的字符串,之后有不超过1e5次的区间查询,输出每次查询区间中不同 ...

  5. [剑指Offer]46-把数字翻译成字符串(递归思想,循环实现)

    题意 '0'到'25'翻译成'a'到'z',故一个字符串可以有多种翻译方式,如12258有五种翻译方式. 给定字符串,输出有多少种翻译方式 解题思路 递归思想 计f(i)为以第i个字符开始到原字符串结 ...

  6. hdu 5059 简单字符串处理

    http://acm.hdu.edu.cn/showproblem.php?pid=5059 确定输入的数是否在(a,b)内 简单字符串处理 #include <cstdio> #incl ...

  7. HDU 1000 & HDU1001 & 字符串连接

    A + B Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  8. [HDU 4821] String (字符串哈希)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4821 题目大意:给你M,L两个字母,问你给定字串里不含M个长度为L的两两相同的子串有多少个? 哈希+枚 ...

  9. HDOJ/HDU 2567 寻梦(字符串简单处理)

    Problem Description 每个人的童年都可能梦想过自己成为一个英雄,尤其是喜欢武侠的男生,Yifenfei也不例外. 童年的他常常梦想自己能成为一个绝世英雄,手拿一把灿灿发亮的宝剑,手挽 ...

随机推荐

  1. tempnam问题

    tempnam()函数创建一个具有唯一文件名的临时文件 若成功,则返回新的临时文件名,若失败,则返回false 失败原因 c:\windows\temp文件夹不具备读写权限(即 不是超级管理员)

  2. postgresql 抽样查询

    curl -GET 'http://****/query' --data-urlencode "db=db" --data-urlencode "q=SELECT las ...

  3. mysql 二级索引

    mysql中每个表都有一个聚簇索引(clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引(secondary indexes). 以InnoDB来说,每个Inn ...

  4. C# MODBUS协议 上位机(转)

    源:C# MODBUS协议 上位机 C#写了一款上位机监控软件,基于MODBUS_RTU协议. 软件的基本结构: 采用定时器(Timer控件)为时间片. 串口采用serialPort1_DataRec ...

  5. Android开发之FileProvider

    最近做项目时,都需要用到FileProvider.于是就研究了下,现总结如下: 官方路径:http://developer.android.com/intl/zh-cn/training/secure ...

  6. mysql连接字符集default

    用mysql客户端工具输入中文数据报错,或乱码问题解决 数据库字符集为latin1时 用mysql工具,然后选择连接>l连接属性>高级>字符集选择default

  7. 对position的理解

    作者:zccst 先看看手册 值 描述 absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位. 元素的位置通过 "left", "t ...

  8. Undefined symbols for architecture armv7错误解决方法

    Undefined symbols for architecture armv7: "_OBJC_CLASS_$_BriefMainModel", referenced from: ...

  9. Spring3.2新注解@ControllerAdvice

    Spring3.2新注解@ControllerAdvice   @ControllerAdvice,是spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强.让我们先看看@Control ...

  10. 微信小程序登录

    一. 小程序不支持cookie会话 1. 通过传递与检验3rd_session来保持会话 2. 3rd_session可以执行'`head -n 80 /dev/urandom | tr -dc A- ...