Advertisement
Guest User

Untitled

a guest
Jan 12th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #include <stdio.h>
  2. #define NMax 1005 //!!!!!!!!!!!
  3.  
  4. int n;
  5. int p[NMax][NMax];
  6. char s[NMax][NMax];
  7.  
  8.  
  9. int main()
  10. {
  11. int i, j, k, max, val, min;
  12. //freopen("C.in", "rt", stdin);
  13.  
  14. scanf("%d\n", &n);
  15.  
  16. while (n)
  17. {
  18. for (i = 0; i < n; i++)
  19. scanf("%s\n", s[i]);
  20.  
  21. for (i = 0; i < n; i++)
  22. {
  23. for (j = 0; j < n; j++)
  24. {
  25. for (k = 0; i - k >= 0 && j + k < n && s[i - k][j] == s[i][j + k]; k++);
  26. p[i][j] = k;
  27. }
  28. }
  29.  
  30.  
  31. max = -1;
  32. for (i = 0; i < n; i++)
  33. {
  34. for (j = 0; j < n; j++)
  35. {
  36.  
  37. val = p[i][j];
  38.  
  39. if (p[i][j] > max)
  40. {
  41. for (k = 0; k <= p[i][j] && val > max; k++)
  42. {
  43. if (val > p[i-k][j+k] + k)
  44. val = p[i-k][j+k] + k;
  45.  
  46. min = val;
  47. if (min > k + 1)
  48. min = k + 1;
  49.  
  50. if (max < min)
  51. max = min;
  52. }
  53. }
  54. }
  55. }
  56.  
  57. printf("%d\n", max);
  58.  
  59.  
  60. scanf("%d\n", &n);
  61. }
  62.  
  63.  
  64. return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement