Advertisement
Guest User

ois_jumps 20/100

a guest
Nov 6th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. string a[101];
  5. int n, maxi;
  6.  
  7. void alfabetico(int i, int j)
  8. {
  9.     for (int t=0; t<a[i].length(); t++){
  10.         if (a[i][t] > a[j][t]){
  11.             string aaa = a[i];
  12.             a[i] = a[j];
  13.             a[j] = aaa;
  14.             return;
  15.         }
  16.         else if (a[i][t] < a[j][t])
  17.             return;
  18.     }
  19. }
  20.  
  21. int ric(int i, int lungh)
  22. {
  23.     for (int j=i+1; j<n; j++){
  24.  
  25.         if (a[i].length() == a[j].length()+1){
  26.             for (int t=0; t<a[i].length(); t++){
  27.                 string str = a[i];
  28.                 str.erase(t,1);
  29.                 if (str == a[j])
  30.                     return ric(j, lungh+1);
  31.             }
  32.         }
  33.  
  34.         else if (a[i].length() == a[j].length()){
  35.             for (int t=0; t<a[i].length(); t++){
  36.                 for (int u=t+1; u<a[i].length(); u++){
  37.                     if (a[u] > a[t]){
  38.                         string str = a[i];
  39.                         str[t] = str[u];
  40.                         if (str == a[j])
  41.                             return ric(j, lungh+1);
  42.                     }
  43.                 }
  44.             }
  45.         }
  46.  
  47.     }
  48.     return lungh;
  49. }
  50.  
  51.  
  52. int main()
  53. {
  54.     freopen("input.txt","r",stdin);
  55.     freopen("output.txt","w",stdout);
  56.     ios_base::sync_with_stdio(false);
  57.  
  58.     cin >> n;
  59.     for (int i=0; i<n; i++)
  60.         cin >> a[i];
  61.  
  62.  
  63.     for (int i=0; i<n; i++){
  64.         for (int j=0; j<n-1; j++){
  65.             if (a[j].length() < a[j+1].length()){
  66.                 string temp = a[j];
  67.                 a[j] = a[j+1];
  68.                 a[j+1] = temp;
  69.             }
  70.             else if (a[j].length() == a[j+1].length())
  71.                 alfabetico(j, j+1);
  72.         }
  73.     }
  74.  
  75.     for (int i=0; i<n; i++){
  76.         int l = ric(i, 1);
  77.         if (l > maxi)
  78.             maxi = l;
  79.     }
  80.  
  81.     cout << maxi;
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement