Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. program Project2;
  2. Var s:string;
  3. n,maxOh:integer;
  4. s1:string;
  5. m:array[1..7] of char;
  6. procedure probeg(i,e:integer);
  7. Var j:integer;
  8. begin
  9. if n=i
  10. then begin
  11. if maxOh<e
  12. then begin
  13. maxOh:=e;
  14. s1:='';
  15. for i:=1 to n do
  16. begin
  17. s1:=s1+s[i];
  18. if m[i]='-'
  19. then s1:=s1+'-';
  20. end;
  21. end;
  22. exit;
  23. end;
  24. for j:=2 to 4 do
  25. begin
  26. if i+j<=n
  27. then begin
  28. if j=2
  29. then begin
  30. if s[i+1]=s[i+2]
  31. then begin
  32. m[i+2]:='-';
  33. probeg(i+2,e+2);
  34. m[i+2]:=' ';
  35. end
  36. else begin
  37. m[i+2]:='-';
  38. probeg(i+2,e);
  39. m[i+2]:=' ';
  40. end;
  41. end
  42. else
  43. if j=3
  44. then
  45. begin
  46. if (s[i+1]=s[i+2])and(s[i+1]=s[i+3])
  47. then begin
  48. m[i+3]:='-';
  49. probeg(i+3,e+3);
  50. m[i+3]:=' ';
  51. end
  52. else if (s[i+1]=s[i+2])or(s[i+2]=s[i+3])or(s[i+1]=s[i+3])
  53. then begin
  54. m[i+3]:='-';
  55. probeg(i+3,e+2);
  56. m[i+3]:=' ';
  57. end
  58. else begin
  59. m[i+3]:='-';
  60. probeg(i+3,e);
  61. m[i+3]:=' ';
  62. end
  63. end
  64. else begin
  65. if (s[i+1]=s[i+2])and(s[i+1]=s[i+3])and(s[i+1]=s[i+4])
  66. then begin
  67. m[i+4]:='-';
  68. probeg(i+4,e+5);
  69. m[i+4]:=' ';
  70. end
  71. else if (s[i+1]=s[i+4])and(s[i+2]=s[i+3])
  72. then begin
  73. m[i+4]:='-';
  74. probeg(i+4,e+4);
  75. m[i+4]:=' ';
  76. end
  77. else if ((s[i+2]=s[i+4])and(s[i+2]=s[i+3]))or((s[i+1]=s[i+4])and(s[i+1]=s[i+3]))or((s[i+1]=s[i+2])and(s[i+1]=s[i+4]))or((s[i+1]=s[i+2])and(s[i+1]=s[i+3]))or((s[i+1]=s[i+2])and(s[i+3]=s[i+4]))or((s[i+1]=s[i+3])and(s[i+2]=s[i+4]))
  78. then begin
  79. m[i+4]:='-';
  80. probeg(i+4,e+3);
  81. m[i+4]:=' ';
  82. end
  83. else if (s[i+1]=s[i+3])or(s[i+2]=s[i+4])
  84. then begin
  85. m[i+4]:='-';
  86. probeg(i+4,e+2);
  87. m[i+4]:=' ';
  88. end
  89. else begin
  90. m[i+4]:='-';
  91. probeg(i+4,e);
  92. m[i+4]:=' ';
  93. end
  94. end;
  95. end; end;
  96. end;
  97. begin
  98. Assign(input,'input.txt');
  99. Assign(output,'output.txt');
  100. readln(s);
  101. maxOh:=-1;
  102. n:=length(s);
  103. probeg(0,0);
  104. delete(s1,length(s1),1);
  105. writeln(s1);
  106. writeln(maxOh);
  107. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement