记录编号 40504 评测结果 AAAAAAAAAA
题目名称 [NOIP 2011]统计单词数 最终得分 100
用户昵称 Gravatarcstdio 是否通过 通过
代码语言 C++ 运行时间 0.050 s
提交时间 2012-07-18 08:12:26 内存使用 1.27 MiB
显示代码纯文本
#include<iostream>
#include<fstream>
#include<cmath>
#include<iomanip>
#include<string>
using namespace std;
char word[12]={0};
char art[1000002]={0};
int first=-1,num=0;
void get_small(char s[]){
	int i;
	for(i=0;s[i]!=0;i++){
		if(s[i]>='A'&&s[i]<='Z'){
			s[i]+=('a'-'A');
		}
	}
}
int bf(int p){
	int i=0;
	bool flag=1;
	while(word[i]!=0){
		if(art[p+i]==' '){
			flag=0;
			break;
		}
		else{
			if(art[p+i]!=word[i]){
				flag=0;
				break;
			}
		}
		i++;
	}
	if(art[p+i]!=' '&&art[p+i]!=0) flag=0;
	if(flag==1){
		if(first==-1) first=p;
		num++;
		return p+i;
	}
	else{
		i=p;
		while(art[i]!=' ') i++;
		return i;
	}
}
void scan(){
	int i=0;
	while(art[i]!=0){
		if(art[i]==' ') i++;
		else{
			i=bf(i);
		}
	}
}
int main(){
	ifstream fin("stat.in");
	ofstream fout("stat.out");
	fin.getline(word,11);
	fin.getline(art,1000001);
	get_small(word);
	get_small(art);
	scan();
	if(num==0) fout<<"-1"<<endl;
	else fout<<num<<" "<<first<<endl;
	fin.close();
	fout.close();
	return 0;
}