Advertisement
reverser1

Untitled

Feb 23rd, 2020
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.45 KB | None | 0 0
  1. void solve() {
  2.     string s1, s2, s3;
  3.     cin >> s1 >> s2 >> s3;
  4.     if (s1.size() > s2.size()) {
  5.         string temp;
  6.         temp = s1;
  7.         s1 = s2;
  8.         s2 = temp;
  9.     }
  10.     if (s2.size() > s3.size()) {
  11.         string temp;
  12.         temp = s2;
  13.         s2 = s3;
  14.         s3 = temp;
  15.     }
  16.     if (s1.size() > s2.size()) {
  17.         string temp;
  18.         temp = s1;
  19.         s1 = s2;
  20.         s2 = temp;
  21.     }
  22.     cout << s1 << "\n" << s2 << "\n" << s3 << "\n";
  23.     string res[s1.size()];
  24.     int x = 0, stop = 0, i = 0, t = 0;
  25.     while (i < s1.size()) {
  26.         cout << i << " " << s1[i] << "\n";
  27.         for (int j = 0; j < s2.size(); ++j) {
  28.             if (s1[i] == s2[j]) {
  29.                 for (int k = 0; k < s3.size(); ++k) {
  30.                     if (s3[k] == s1[i]) {
  31.                         int ii = i, jj = j, kk = k;
  32.                         while (ii < s1.size() && jj < s2.size() && kk < s3.size()) {
  33.                             cout << s1[ii] << " " << s2[jj] << " " << s3[kk] << "\n";
  34.                             if (s1[ii] == s2[jj] && s2[jj] == s3[kk]) {
  35.                                 res[x] += s1[ii];
  36.                                 ii++;
  37.                                 kk++;
  38.                                 jj++;
  39.                                 cout << "1res = " << res[x] << " // x - " << x << "\n";
  40.                             } else {
  41.                                 break;
  42.                             }
  43.                         }
  44.                         cout << "res = " << res[x] << "\n";
  45.                         i -= res[x].size();
  46.                         i+=2;
  47.                         if (!res[x].empty()) x++;
  48.                         m = 1;
  49.                         break;
  50.                     } else if (k == s3.size() - 1) {
  51.                         i -= res[x].size();
  52.                         i+=2;
  53.                         if (!res[x].empty()) x++;
  54.                         stop = 1;
  55.                         break;
  56.                     }
  57.                 }
  58.             } else if ((j == s2.size() - 1 || stop == 1) && m != 1) {
  59.                 i -= res[x].size();
  60.                 i+=2;
  61.                 if (!res[x].empty()) x++;
  62.                 break;
  63.             }
  64.         }
  65.         stop = 0;
  66.         m = 0;
  67.     }
  68.     int mx = -1, mxi = 0;
  69.     for (int l = 1; l < x; ++l) {
  70.         if (res[l].size() > res[l-1].size()) {
  71.             mxi = l;
  72.             mx = res[l].size();
  73.         }
  74.     }
  75.     cout << res[mxi];
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement