记录编号 585106 评测结果 AAAAAAAAAA
题目名称 [NOIP 2011]统计单词数 最终得分 100
用户昵称 Gravatar城南花已开 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2023-11-22 15:38:23 内存使用 0.66 MiB
显示代码纯文本
# include <iostream>
# include <cstdio>
# include <string.h>
using namespace std;
int main(){
	char word[20],article[1000005],t,t2;
	int l1,l2,ans1=0,ans2;
	bool p1=true;
	freopen("stat.in","r",stdin);
	freopen("stat.out","w",stdout);
	cin >>word;
	cin.get();
	fgets(article,sizeof(article),stdin); 
	l1=strlen(word);
	l2=strlen(article);
	l2-=1; 
	for(int i=0;i<l1;i++){
		if(word[i]>=65&&word[i]<=90){
			word[i]+=32;
		}	
	}
	for(int i=0;i<l2;i++){
		if(article[i]>=65&&article[i]<=90){
			article[i]+=32;
		}
	} 
	t=article[0];
	article[0]=' ';
	for(int i=1;i<l2;i++){
		t2=article[i];
		article[i]=t;
		t=t2;
	}
	article[l2]=t;
	article[l2+1]=' '; 
	for(int i=1;i<=l2-l1+1;i++){
		p1=true;
		for(int j=0;j<l1;j++){
			if(article[i+j]!=word[j]){ 
				p1=false;
				break;
			}
		}
		if(p1==true){
			if(article[i-1]==' '&&article[i+l1]==' '){ 
				ans1++;
				if(ans1==1){
					ans2=i-1;
				}
			}
		}
	}
	if(ans1==0){
		printf("-1\n");
	}
	else{
		printf("%d %d\n",ans1,ans2);
	}
	return 0;
}