关键词统计

输入
仅一组测试数据
第一行是一些句子,表示一篇文章。(文章长度不超过200000个字符)
第二行是一个数字N(1<=N<=10162),代表查询的数目。
以下每行一个单词(单词由小写字母组成,长度不超过20)
输出
每组测试数据输出一行,表示这个单词在文章中出现的次数。

#include
using namespace std;
int main(){
	char str[200000];
	cin.getline(str,200000);
	int t;
	cin>>t;
	while(t--){
	    char book[100];
	    cin>>book;
	    int n=strlen(book);
	    int l=strlen(str);
	    int s=0,a=0;
	    for(int i=0;i<l;i++){
	        if(str[i]<'Z'&&str[i]>'A')str[i]+=32;
	        if(str[i]==book[a]){
	            int b=i;
	            int flage=1;
	            for(int j=0;j<n;j++){
	                if(str[b]<'Z'&&str[b]>'A')str[b]+=32;
	                if(str[b]!=book[j])flage=0;
	                b++;
	            }
	            if(flage==1&&(str[b]<'a'||str[b]>'z')&&(str[i-1]<'a'||str[i-1]>'z')){
	                s++;
	                i+=n-1;
	            }
	        }
	    }
	    cout<<s<<endl;
	}
	
	return 0;
}

你可能感兴趣的:(关键词统计)