ccf 字符串匹配 2014-09-3(字符串模拟)

思路:按着题意模拟即可


代码

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
#include<cstring>
using namespace std;
const int N = 1005;
typedef long long ll;
int flag,n;
string s;
bool check(int i,string &ss)
{
    if(i+s.size()>ss.size())
        return false;
    for(int j=0;j<s.size();j++)
    {
        if(flag&&s[j]!=ss[j+i])
            return false;
        char c=ss[j+i]+32;
        if(!flag&&s[j]!=c && !flag && s[j]!=ss[j+i])
            return false;
    }
    return true;
}
int main()
{
    cin>>s;
    cin>>flag;
    if(!flag) 
    {
        for(int i=0;i<s.size();i++)
            if(isupper(s[i]))
               s[i]+=32; 
    }   
    cin>>n;
    while(n--)
    {
        string ss;
        cin>>ss;
        for(int i=0;i<ss.size();i++)
        {
            if(check(i,ss))
            {
                cout<<ss<<endl;break;
            }
        }
    }
    return 0;
}

上一篇:2014-9-1


下一篇:python—sqlite