Advertisement
Guest User

Untitled

a guest
Mar 30th, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main (void) {
  5. freopen("in.txt", "r", stdin);
  6. freopen("out.txt", "w", stdout);
  7. char a[18], buf[260], buf2[260];
  8. fgets(a, 18, stdin);
  9. size_t nread;
  10. nread=fread(buf, 1, 256, stdin);
  11. buf[nread]=0;
  12. fread(buf2, 1, 256, stdin);
  13. int N=0, M=0;
  14. M=(int)strlen(a);
  15. N=(int)strlen(buf);
  16. if (N<2) return 0;
  17. int count=0;
  18. int num=0;
  19. do {
  20. int i=0;
  21. i=M-2;
  22. do {
  23. int j=0, k=0;
  24. j=M-2;
  25. k=i;
  26. int maxk=0;
  27. if (maxk<k) maxk=k;
  28. if(k<N) {
  29. printf("%d ", k+1+count);
  30. int sum=0;
  31. while ((j>0) && (a[j]==buf[k])) {
  32. k--;
  33. j--;
  34. printf("%d ", k+1+count);
  35. sum++;
  36. }
  37. if ((j==0) && (a[j]==buf[k])) i=i+M-1;
  38. else {
  39. int x=3;
  40. while((x<=M) && (buf[k+sum]!=a[M-x])) {
  41. x++;
  42. i++;
  43. }
  44. i=i+1;
  45. }
  46. }
  47. if ((k>=N) && (k<N+M-1)) {
  48. printf("%d ", k+1+count);
  49. int sum=0;
  50. while ((j>0) && ((a[j]==buf[k]) || (a[j]==buf2[k-28]))) {
  51. k--;
  52. j--;
  53. printf("%d ", k+1+count);
  54. sum++;
  55. }
  56. if ((j==0) && ((a[j]==buf[k]) || (a[j]==buf2[k-28]))) i=i+M-1;
  57. else {
  58. int x=3;
  59. while((x<=M) && (buf2[k+sum-28]!=a[M-x])) {
  60. x++;
  61. i++;
  62. }
  63. }
  64. }
  65. } while (i<N+M-2);
  66. for(int pd=0; pd<=260; ++pd) {
  67. buf[pd]=buf2[pd];
  68. }
  69. nread=fread(buf2, 1, 28, stdin);
  70. buf2[nread]=0;
  71. if (num%2==1) N=(int)strlen(buf2);
  72. count+=28;
  73. num++;
  74. } while (N>0);
  75. return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement