fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4.  
  5. int main()
  6. {
  7. char str[100000];
  8. scanf("%s",&str);
  9. int n3;
  10. scanf("%d",&n3);
  11. while(n3--)
  12. {
  13. char s1[2000];
  14. scanf("%s",&s1);
  15. if ( strcmp(str,s1) == 0)
  16. {
  17. printf("Y\n");
  18. continue;
  19. }
  20. unsigned long long int l1 = strlen(s1),i;
  21. unsigned long long int p1=0,p2=0,k1 =1,k4=1,vp=1;
  22. for(i=0;i<l1;i++)
  23. {
  24. unsigned long long int k2 = *(s1+i);
  25. p1 += k2 * k1;
  26. k1 = (k1 * 31);
  27. }
  28. vp = k1/31;
  29. unsigned long long int j;
  30. for(j=0;j<l1;j++)
  31. {
  32. unsigned long long int k3 = *(str+j);
  33. p2 += k3 * k4;
  34. k4 = (k4 *31);
  35. }
  36. unsigned long long int mul=1;
  37. long long int r1=0;
  38. long long int ll1 = strlen(s1),ll2=strlen(str);
  39. for(j=1;j<=ll2;j++)
  40. {
  41. if ( p2 == p1)
  42. {
  43. r1 = 1;
  44. break;
  45. }
  46. long int w1 = *(str+j-1);
  47. p2 -= w1;
  48. p2 = p2/31;
  49. long int lp = *(str+j+l1-1);
  50. p2 += ((lp *vp));
  51. }
  52. if ( r1 == 0)
  53. {
  54. printf("N\n");
  55. }
  56. else
  57. {
  58. printf("Y\n");
  59. }
  60. }
  61. return 0;
  62. }
  63.  
  64.  
  65.  
  66.  
  67.  
Success #stdin #stdout 0s 15224KB
stdin
ccbasksnaslkdasdasndas
3
bas
ask
ksn
stdout
Y
Y
Y