比赛 “Asm.Def战记之太平洋”杯 评测结果 AWWWWWWTTT
题目名称 Asm.Def谈笑风生 最终得分 10
用户昵称 沐风 运行时间 6.031 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-11-02 10:34:34
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<string>
 using namespace std;
 int check(string t,string s);
 int main()
    {   freopen("asm_talk.in","r",stdin);
        freopen("asm_talk.out","w",stdout);
    	string s,t,tem;
    	int n,l,i,m,op;
    	cin>>m;
    	for(i=1;i<=m;i++)
    	   {
    	   	 cin>>op>>tem;
    	   	 if(op==1)
    	   	 s=s+tem;
    	   	 if(op==2)
    	   	 if(check(tem,s)==0) cout<<"YES"<<endl;
    	   	 else cout<<"NO"<<endl;
    	   }
    	return 0;
    }
 int check(string t,string s)
    {
	  int ls,lt,i,n,j=0;
	  ls=s.size()-1;lt=t.size()-1;
	  for(i=0;i<=ls-lt;i++)
	      { if(t[0]!=s[i]&&t[0]!='*') continue;
	      	if(t[0]==s[i]||t[0]=='*')
              {j++;
			  for(n=1;n<=lt;n++)
                  if (t[n]!=s[n+i]&&t[n]!='*') break;
                  j++;
              }
            if(j==lt) return 0;    
	      }
	      return 1;
	}