比赛 模拟测试2 评测结果 AAWWWWAWWWWWWWWW
题目名称 翻译玛雅著作 最终得分 18
用户昵称 wangwangdog 运行时间 0.000 s
代码语言 C 内存使用 0.00 MiB
提交时间 2010-10-12 21:45:56
显示代码纯文本
  1. #include<stdio.h>
  2. long i,j,la,lb,stan[201],ans[201];
  3. char a[3001],b[3000001];
  4. int main()
  5. {
  6. FILE *fin,*fout;
  7. fin=fopen("writing.in","rb");
  8. fout=fopen("writing.out","wb");
  9. fscanf(fin,"%d%d\n",&la,&lb);
  10. for(i=1;i<=la;i++)
  11. fscanf(fin,"%c",&a[i]);
  12. fscanf(fin,"\n");
  13. for(i=1;i<=lb;i++)
  14. fscanf(fin,"%c",&b[i]);
  15. for(i=1;i<=200;i++)
  16. {
  17. stan[i]=0;
  18. ans[i]=0;
  19. }
  20. for(i=1;i<=la;i++)
  21. stan[a[i]]++;
  22. long num=0;
  23. for(i=1;i<=la;i++)
  24. {
  25. ans[b[i]]++;
  26. }
  27. for(i=1;i<=200;i++)
  28. {
  29. ans[i]=ans[i]-stan[i];
  30. if(ans[i]!=0)num++;
  31. }
  32. long all=0;
  33. if(num==0)all++;
  34. for(i=2;i<=lb-la+1;i++)
  35. {
  36. ans[b[i-1]]--;
  37. if(ans[b[i-1]]==0)num--;
  38. if(ans[b[i-1]]==-1)num++;
  39. ans[b[i+la-1]]++;
  40. if(ans[b[i+la-1]]==0)num--;
  41. if(ans[b[i+la-1]]==-1)num++;
  42. if(num==0)all++;
  43. }
  44. fprintf(fout,"%d",all);
  45. fclose(fin);
  46. fclose(fout);
  47. return 0;
  48. }