合肥工业大学oj 1220 统计

#include<iostream>
#include<cctype>
#include<string>
#include<algorithm>
using namespace std;

string str_1, str_2;

int main(){
    while(getline(cin, str_1) && getline(cin, str_2)){
        transform(str_1.begin(), str_1.end(), str_1.begin(), ::tolower);
        transform(str_2.begin(), str_2.end(), str_2.begin(), ::tolower);
        int count = 0, len_1 = str_1.length(), len_2 = str_2.length();
        bool prev = false, next = false;
        for(int i = 0; i + len_1 <= len_2; i++){
            if(str_2.substr(i, len_1) == str_1){
                if(i - 1 >= 0){
                    if(!isalpha(str_2[i - 1])){
                        prev = true;
                    }
                }else{
                    prev = true;
                }
                if(i + len_1 < len_2){
                    if(!isalpha(str_2[i + len_1])){
                        next = true;
                    }
                }else{
                    next = true;
                }
                if(prev && next){
                    count++;
                }
                prev = false, next = false;
            }
        }
        cout << count << endl;
    } 
    
    return 0;
}

//presented by 大吉大利,今晚AC

猜你喜欢

转载自blog.csdn.net/lalala_HFUT/article/details/87943775