Advertisement
Guest User

PulaMea

a guest
Feb 21st, 2020
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. using namespace std;
  6. ifstream fin("cuvant2.in");
  7. ofstream fout("cuvant2.out");
  8. char cuvant[256];
  9. int n,l_max=0,pali[256];
  10. bool palindrom(int i, int j)
  11. {
  12. while(i<j)
  13. {
  14. if(cuvant[i]!=cuvant[j])
  15. return 0;
  16. i++;
  17. j--;
  18. }
  19. return 1;
  20. }
  21. int main()
  22. {
  23. fin>>cuvant;
  24. n=strlen(cuvant);
  25. for(int i=0;i<n;i++)
  26. {
  27. if(palindrom(0,i))
  28. {
  29. pali[i]=1;
  30. l_max=max(l_max,i+1);
  31. }
  32. else
  33. {
  34. int minim=300;
  35. for(int j=0;j<i;j++)
  36. {
  37. if(palindrom(j+1,i))
  38. {
  39. minim=min(minim,pali[j]+1);
  40. l_max=max(l_max,i-j);
  41. }
  42.  
  43. }
  44. pali[i]=minim;
  45. }
  46. }
  47. fout<<pali[n-1]<<" "<<l_max;
  48. return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement