Guest User

Untitled

a guest
Oct 21st, 2019
68
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. int ugyanaz(string a, string b)
  8. {
  9. int x = 0;
  10. int n = 0;
  11. while(a[n] == b[n])
  12. {
  13. x++;
  14. n++;
  15. }
  16. return x;
  17. }
  18.  
  19. int main()
  20. {
  21. //BEOLVASÁS
  22. vector<int> szam;
  23. vector<string> azon;
  24. int n = 0;
  25. cin >> n;
  26.  
  27. for(int i = 0; i < 200000; i++)
  28. {
  29. szam.push_back(i);
  30. azon.push_back(i);
  31. }
  32.  
  33. //TÖMBÖK SORBARENDEZÉSE
  34.  
  35. vector<int> sor;
  36. vector<string> kod;
  37.  
  38. for(int i = 0; i<n; i++)
  39. {
  40. sor[i] = szam[i];
  41. kod[i] = azon[i];
  42. }
  43. int tmp =0;
  44. string s ="";
  45. for (int i = n-1; 0 < i; i--)
  46. {
  47. for (int j=0; j < i; j++)
  48. {
  49. if (sor[j]>sor[j+1])
  50. {
  51. tmp=sor[j];
  52. s=kod[j];
  53. sor[j]=sor[j+1];
  54. sor[j+1]=tmp;
  55. kod[j]=kod[j+1];
  56. kod[j+1]=s;
  57. }
  58. }
  59. }
  60.  
  61. for (int i = n-1; 0 < i; i--)
  62. {
  63. for (int j=0; j < i; j++)
  64. {
  65. if (sor[j]==sor[j+1] && kod[j] >kod[j+1])
  66. {
  67. s=kod[j];
  68. kod[j]=kod[j+1];
  69. kod[j+1]=s;
  70. }
  71. }
  72. }
  73.  
  74. //AZONOSÍTÓK ÖSSZEHASONLÍTÁSA
  75.  
  76. vector<int> u;
  77.  
  78. for(int i = 0; i <n; i++)
  79. {
  80. u[i] = 1;
  81. }
  82.  
  83. for(int i = 0; i < n; i++)
  84. {
  85. for(int j = 0; j <n; j++)
  86. {
  87. if(sor[i] == sor[j] && i!= j)
  88. {
  89. if(ugyanaz(kod[i], kod[j]) + 1 > u[i])
  90. {
  91. u[i] = ugyanaz(kod[i], kod[j]) + 1;
  92. }
  93. }
  94. }
  95. }
  96.  
  97. vector<int> x;
  98.  
  99. for(int i = 0; i <n; i++)
  100. {
  101. for(int j = 0; j<n; j++)
  102. {
  103. if(szam[i] == sor[j] && azon[i] == kod[j])
  104. {
  105. x[i] = u[j];
  106. }
  107. }
  108. }
  109.  
  110. for(int i = 0; i <n; i++)
  111. {
  112. cout << x[i] << endl;
  113. }
  114. }
  115.  
  116. }
RAW Paste Data