记录编号 324407 评测结果 AAAAAAAAAA
题目名称 [NOIP 2011]统计单词数 最终得分 100
用户昵称 Gravatar爆零自动机 是否通过 通过
代码语言 C++ 运行时间 0.051 s
提交时间 2016-10-18 08:03:26 内存使用 1.27 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

char wrd[20],ssy[1000000+10];
int lenw,lens,ans;
int first=-1,cnt;
void downn(char a[]);
void frmtn(char a[]);
void find1(char a[],char b[]);
int main()
{
	freopen("stat.in","r",stdin);
	freopen("stat.out","w",stdout);
	
	cin>>wrd;gets(ssy);gets(ssy);
	lenw=strlen(wrd);downn(wrd);
	lens=strlen(ssy);downn(ssy);
	
	frmtn(wrd);
	frmtn(ssy);
	
	find1(ssy,wrd);
	if(cnt==0) cout<<-1<<endl;
	else
	cout<<cnt<<' '<<first<<endl;
	return 0;
}
void frmtn(char a[])
{
	int len=strlen(a);
	for(int i=len; i>0; i--)
		a[i]=a[i-1];
	a[len+1]=' '; a[0]=' ';
}
void downn(char a[])
{
	int len;
	len=strlen(a);
	for(int i=0; i<len; i++)
	{
		if(a[i]>='A' && a[i]<='Z')
			a[i]+='a'-'A';
	}
}
void find1(char a[],char b[])
{
	char *p=NULL;
	p=strstr(a,b);
	if (p!=NULL)
	{
		first=p-a;
	}
	while (p!=NULL)
	{
		p=strstr(p+strlen(b)-1,b);
		cnt++;
	}
}