记录编号 20580 评测结果 AAAAAAAAAAAAAAAA
题目名称 翻译玛雅著作 最终得分 100
用户昵称 Gravatarmake 是否通过 通过
代码语言 Pascal 运行时间 4.937 s
提交时间 2010-10-27 09:29:04 内存使用 2.98 MiB
显示代码纯文本
  1. program writing;
  2. var
  3. a,num:array ['A'..'z'] of longint;
  4. b:array [1..3000000] of char;
  5. h:array [1..52] of char;
  6. o:array ['A'..'z'] of boolean;
  7. g,s,sp,ans,f:longint;
  8. f1,f2:text;
  9. procedure init;
  10. var ch:char; i:longint;
  11. begin
  12. assign(f1,'writing.in');
  13. assign(f2,'writing.out');
  14. reset(f1);
  15. rewrite(f2);
  16. readln(f1,g,s);
  17. sp:=0;
  18. for i:=1 to g do begin
  19. read(f1,ch);
  20. if o[ch]=false then begin
  21. inc(sp);
  22. h[sp]:=ch;
  23. o[ch]:=true;
  24. end;
  25. a[ch]:=a[ch]+1;
  26. end;
  27. readln(f1);
  28. for i:=1 to s do read(f1,b[i]);
  29. close(f1);
  30. for i:=1 to g do inc(num[b[i]]);
  31. end;
  32. procedure play;
  33. var i,j,k:longint;
  34. begin
  35. i:=1;
  36. j:=g;
  37. while j<=s do begin
  38. f:=0;
  39. for k:=1 to sp do if num[h[k]]=a[h[k]] then f:=f+1;
  40. if f=sp then ans:=ans+1;
  41. if j<s then begin
  42. dec(num[b[i]]);
  43. inc(i);
  44. inc(j);
  45. inc(num[b[j]]);
  46. end else inc(j);
  47. end;
  48. end;
  49. begin
  50. init;
  51. play;
  52. writeln(f2,ans);
  53. close(f2);
  54. end.