hdu 6170(正则表达式)
发布日期:2021-06-29 21:40:32 浏览次数:2 分类:技术文章

本文共 886 字,大约阅读时间需要 2 分钟。

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

代码来源:http://blog.csdn.net/algzjh/article/details/77484741

由不会正则表达,当然这道题也可以dp做,好奇就去看了一下正则。链接:http://www.runoob.com/java/java-regular-expressions.html

#include
using namespace std;const int MAXN=2600;string s,p;int main(){
int T; cin>>T; while(T--) {
cin>>s>>p; string s1=".*";//题目里特殊字符 string s2="(a*|b*|c*|d*|e*|f*|g*|h*|i*|j*|k*|l*|m*|n*|o*|p*|q*|r*|s*|t*|u*|v*|w*|x*|y*|z*" "|A*|B*|C*|D*|E*|F*|G*|H*|I*|J*|K*|L*|M*|N*|O*|P*|Q*|R*|S*|T*|U*|V*|W*|X*|Y*|Z*)";//根据题目构造串s2 int len=s2.length(); auto pos=p.find(s1);//找到这些特殊字符位置 while(pos!=string::npos) {
p.replace(pos,2,s2);//将p串中哪些特殊位置按s2规则替换 pos=p.find(s1,pos+len);//更新位置 } regex pat(p);//最后将替换后的串用正则regex给pat if(regex_match(s,pat)) cout<<"yes"<

转载地址:https://dh-butterfly.blog.csdn.net/article/details/77500745 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:排列组合 "n个球放入m个盒子m"问题 总结(转)
下一篇:hdu 6168(stl)

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年05月01日 20时12分59秒