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