第二次CCF软件能力认证C题-字符串匹配 题型:模拟 简单一次过

58 阅读1分钟

3204. 字符串匹配 - AcWing题库

n最多是100,就是说有100个字符串,对于每个字符串我们都用一个find()函数进行处理,find()函数的复杂度是O(n2)O(n^{2})。那么总共就是1001002100*100^{2},总共是1e6

按要求模拟即可

#include<bits/stdc++.h>
using namespace std;

int main()
{
    string s;cin>>s;
    int k;cin>>k;
    int n;cin>>n;
    while(n--)
    {
        string str;cin>>str;
        if(k)  //大小写1敏感
        {
            if(str.find(s)!=string::npos) cout<<str<<endl;
        }
        else
        {
            string temp=str;
            for(int i=0;i<str.size();i++)
            {
                temp[i]=tolower(temp[i]);
            }
            
            for(int i=0;i<s.size();i++)
            {
                s[i]=tolower(s[i]);
            }
          
            if(temp.find(s)!=string::npos)    cout<<str<<endl;

        }
    }
}

image.png