比赛 模拟测试2 评测结果 AAAAAAAAAAAAAAAA
题目名称 翻译玛雅著作 最终得分 100
用户昵称 苏轼 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2010-10-12 19:05:28
显示代码纯文本
/*
ID: dxmtb
PROG: 翻译玛雅著作
TIME: 2010.9.28
STATE: Solved
MEMO: 枚举
*/
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAXS=3000005;

int g,s;
int t[259],tt[259];

char str[MAXS];
int re;
int main()
{
	freopen("writing.in","r",stdin);
	freopen("writing.out","w",stdout);
	scanf("%d%d",&g,&s);
	for(int i=0;i<g;i++)
	{
		char ch;
		do
		{
			ch=getchar();
		}while(!((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')));
		t[ch-'A']++;
	}
	scanf("\n");
	scanf("%s",str);
	memcpy(tt,t,sizeof(t));
	for(int i=0;i<s;i++)
	{
		int tmp=str[i]-'A';
		t[tmp]--;
		if (i-g>=0)
			t[str[i-g]-'A']++;
		if (t[tmp]<0)
			continue;
		bool flag=true;
		for(int i=0;i<26&&flag;i++)
			if (t[i]!=0)
				flag=false;
		if (!flag)
			continue;
		for(int i='a'-'A';i<='z'-'A'&&flag;i++)
			if (t[i]!=0)
				flag=false;
		if (!flag)
			continue;
		re++;
	}
	printf("%d\n",re);
	return 0;
}