fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5. int K,E,max,i,j,len,match,k,l,b,e=1;
  6. while(scanf("%d%d",&K,&E)==2)
  7. {
  8. int m[E];
  9. max=0;
  10. char key[20][21],exc[20][71],ex[20][71];
  11. for(i=0;i<K;i++)
  12. {
  13. scanf("%s",key[i]);
  14. }
  15. for(i=0;i<E;i++)
  16. {
  17. scanf(" %[^\n]%*c",exc[i]);
  18.  
  19. }
  20. for(i=0;i<E;i++)
  21. {
  22. strcpy(ex[i],exc[i]);
  23. }
  24. for(i=0;i<E;i++)
  25. {
  26. m[i]=0;
  27. len=strlen(ex[i]);
  28. for(b=0;b<len;b++)
  29. {
  30. if(ex[i][b]>='A'&&ex[i][b]<='Z')
  31. {
  32. ex[i][b]+=32;
  33. }
  34. }
  35. for(j=0;j<K;j++)
  36. {
  37. for(k=0,l=0;l<len;l++)
  38. {
  39. if(key[j][k]==ex[i][l]&&(l==0||ex[i][l-1]==' '||ex[i][l-1]=='.'||ex[i][l-1]==','||ex[i][l-1]=='!'||ex[i][l-1]=='?'||ex[i][l-1]=='\"'||l==len-1))
  40. {
  41. match=1;
  42. for(;key[j][k]!='\0';k++,l++)
  43. {
  44. if(key[j][k]!=ex[i][l])
  45. {
  46. match=0;
  47. break;
  48. }
  49. }
  50. if(match==1&&(l==len||ex[i][l]==' '||ex[i][l]=='.'||ex[i][l]==','||ex[i][l]=='!'||ex[i][l]=='?'||ex[i][l]=='\"'))
  51. {
  52. m[i]++;
  53. }
  54. }
  55. k=0;
  56. }
  57. }
  58. if(m[i]>max)
  59. max=m[i];
  60. }
  61. printf("Excuse Set #%d\n",e);
  62. for(i=0;i<E;i++)
  63. {
  64. if(m[i]==max)
  65. {
  66. printf("%s\n",exc[i]);
  67. }
  68. }
  69. printf("\n");
  70. e++;
  71. }
  72. return 0;
  73. }
  74.  
Success #stdin #stdout 0s 4464KB
stdin
Standard input is empty
stdout
Standard output is empty