Advertisement
a53

caroiaj

a53
Feb 9th, 2020
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. #include <fstream>
  2.  
  3. using namespace std;
  4. ifstream fin("caroiaj.in");
  5. ofstream fout("caroiaj.out");
  6. int n,mij,mij1,mij2,st,dr,stm,drm;
  7. char a[250001],b[501][501];
  8. int main()
  9. {
  10. int i,lgc,lgm,drm,j,p,k;
  11. fin>>n;
  12. for(i=1; i<=n; i++)
  13. for(j=1;j<=n;j++)
  14. fin>>b[i][j];
  15. p=0;
  16. for(k=1;k<=(n+1)/2;k++)
  17. {
  18. ///1
  19. for(j=k;j<=n-k+1;j++)
  20. {
  21. p++;
  22. a[p]=b[k][j];
  23. }
  24. ///2
  25. for(i=k+1;i<=n-k+1;i++)
  26. {
  27. p++;
  28. a[p]=b[i][n-k+1];
  29. }
  30. ///3
  31. for(j=n-k;j>=k;j--)
  32. {
  33. p++;
  34. a[p]=b[n-k+1][j];
  35. }
  36. ///4
  37. for(i=n-k;i>k;i--)
  38. {
  39. p++;
  40. a[p]=b[i][k];
  41. }
  42. }
  43. n=n*n;
  44.  
  45.  
  46. lgm=1;
  47. stm=drm=1;
  48.  
  49. for(mij=1; mij<=n; mij++)
  50. {
  51. st=dr=mij;
  52. while(st>=1 && dr<=n && a[st]==a[dr])
  53. {
  54. st--;
  55. dr++;
  56. }
  57. st++;
  58. dr--;
  59.  
  60. lgc=dr-st+1;
  61. if(lgc>=lgm)
  62. {
  63. lgm=lgc;
  64. stm=st;
  65. drm=dr;
  66. }
  67.  
  68. }
  69.  
  70. for(mij1=1,mij2=2; mij2<=n; mij1++,mij2++)
  71. if(a[mij1]==a[mij2])
  72. {
  73. st=mij1;
  74. dr=mij2;
  75.  
  76. while(st>=1 && dr<=n && a[st]==a[dr])
  77. {
  78. st--;
  79. dr++;
  80. }
  81. st++;
  82. dr--;
  83.  
  84. lgc=dr-st+1;
  85. if(lgc>=lgm)
  86. {
  87. lgm=lgc;
  88. stm=st;
  89. drm=dr;
  90. }
  91. }
  92. for(i=stm;i<=drm;i++)
  93. fout<<a[i];
  94. ///fout<<endl;
  95. return 0;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement