比赛 20100927 评测结果 AAAAAAAAAAAAAAAA
题目名称 翻译玛雅著作 最终得分 100
用户昵称 Citron酱 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2010-09-27 19:37:21
显示代码纯文本
#include <fstream>
#include <string>

#define I_F "writing.in"
#define O_F "writing.out"

using namespace std;

int s1[256],s2[256];
char s[3000000];
int n1,n2,ans;

void Input();
bool Pd();
void Search();
void Output();

int main()
{
	Input();
	Search();
	Output();
}

void Input()
{
	char t;
	int i;
	ifstream fin(I_F);
	fin>>n1>>n2;
	for (i=0; i<n1; i++)
	{
		fin>>t;
		s1[(int)t]++;
	}
	for (i=0; i<n2; fin>>s[i++]);
	fin.close();
}

bool Pd()
{
	int i;
	for (i=0; i<256; i++)
		if (s1[i]!=s2[i])
			return false;
	return true;
}

void Search()
{
	int i;
	for (i=0; i<n1; i++)
		s2[(int)s[i]]++;
	if (Pd()) 
		ans++;
	for (; i<n2; i++)
	{
		s2[(int)s[i]]++;
		s2[(int)s[i-n1]]--;
		if (Pd())
			ans++;
	}
}

void Output()
{
	ofstream fout(O_F);
	fout<<ans<<endl;
	fout.close();
}