栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1229 Wild Domains

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1229 Wild Domains

#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<map>using namespace std;#define N 1200int s1[N],s2[N],l1,l2;bool dp[N][N];int t;map<string,int>mp;void trans(string s,int *t,int &len){len=0;for(int i=0;i<s.length();){if(s[i]=='.'){i++;continue;}elseif(s[i]=='*')t[++len]=-1,t[++len]=-2,i++;elseif(s[i]=='?')t[++len]=-1,t[++len]=-3,t[++len]=-3,i++;elseif(s[i]=='!')t[++len]=-1,t[++len]=-1,t[++len]=-1,t[++len]=-2,i++;else{int j;for(j=i+1;s[j]!='.'&&j<s.length();j++);string x=s.substr(i,j-i);if(!mp.count(x))mp[x]=mp.size()+1;t[++len]=mp[x];i=j+1;}}}void gao(int i,int j){if(s1[i]==-2||s2[j]==-2||s1[i]==-3)dp[i][j]=1;j++;if(j>l2)return;if(s1[i]>0){for(int cnt=0;j<=l2;j++){if(s2[j]>0&&s2[j]!=s1[i])break;if(s2[j]==-1||s2[j]>0)cnt++;if(cnt>1)break;dp[i][j]=1;}}elseif(s1[i]==-2)for(;j<=l2;j++)dp[i][j]=1;elseif(s1[i]==-3||s1[i]==-1){for(int cnt=0;j<=l2;j++){if(s2[j]==-1||s2[j]>0)cnt++;if(cnt>1)break;dp[i][j]=1;}}}void solve(){dp[0][0]=1;for(int i=0;i<l1;i++)for(int j=0;j<=l2;j++){if(dp[i][j]==0)continue;gao(i+1,j);}printf("%sn",dp[l1][l2]==0?"NO":"YES");}int main(){scanf("%d",&t);while(t--){memset(dp,0,sizeof(dp));mp.clear();string s;cin>>s;trans(s,s1,l1);cin>>s;trans(s,s2,l2);solve();}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381050.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号