记录编号 |
115321 |
评测结果 |
AAAAAAAAAAAAAAAA |
题目名称 |
翻译玛雅著作 |
最终得分 |
100 |
用户昵称 |
sqyon |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.094 s |
提交时间 |
2014-08-17 19:32:39 |
内存使用 |
3.18 MiB |
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int g[500],used[500],g_size,s_size;
char s[3000050];
void init()
{
scanf("%d %d", &g_size, &s_size);
scanf("\n");
char tmp;
for (int i = 0; i < g_size; i++)
{
scanf("%c", &tmp);
g[tmp - 'A']++;
}
scanf("%s",s);
return ;
}
int ans,l,r;
void solve()
{
while (r <= s_size)
{
if (used[s[r] - 'A'] >= g[s[r] - 'A'])
{
if (!g[s[r] - 'A'])
{
l = ++r;
memset(used, 0, sizeof(used));
continue;
}
used[s[l++] - 'A']--;
continue;
}
if (r - l + 1 == g_size)
{
ans++;
used[s[l++] - 'A']--;
used[s[r++] - 'A']++;
continue;
}
used[s[r++] - 'A']++;
}
return ;
}
int main()
{
freopen("writing.in", "r", stdin);
freopen("writing.out", "w", stdout);
init();
solve();
printf("%d",ans);
return 0;
}