文章

246

粉丝

0

获赞

1171

访问

55.6k

头像
字符串匹配 题解:
P1378 北京航空航天大学机试题
发布于2026年3月15日 11:17
阅读数 160

#include<iostream>
using namespace std;

const int N=1010;

int n;
string ss[N],str;

void get(string &s)
{
    for(int i=0;i<s.size();i++)
    if(s[i]>='A'&&s[i]<='Z')
    s[i]='a'+(s[i]-'A');
}

bool check(string s)
{
    string s1=s,s2=str;
    get(s1),get(s2);
    int i,j;
    for(i=0,j=0;i<s1.size();i++)
    {
        if(s1[i]==s2[j])
        j++;
        else
        {
            if(s2[j]!='[')
            return false;
            bool flag=false;
            for(int k=j+1;k<=s2.size();k++)
            {
                if(s2[k]==s1[i])
                flag=true;
            }
            if(!flag)
            return false;
            int k=j+1;
            while(s2[k]!=']')
            k++;
            k++;
            j=k;
        }
    }
    if(j<s2.size())
    return false;
    return true;
    
}

int main()
{
    while(cin>>n)
    {
        for(int i=1;i<=n;i++)
      ...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发