Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void solve() {
- string s1, s2, s3;
- cin >> s1 >> s2 >> s3;
- if (s1.size() > s2.size()) {
- string temp;
- temp = s1;
- s1 = s2;
- s2 = temp;
- }
- if (s2.size() > s3.size()) {
- string temp;
- temp = s2;
- s2 = s3;
- s3 = temp;
- }
- if (s1.size() > s2.size()) {
- string temp;
- temp = s1;
- s1 = s2;
- s2 = temp;
- }
- cout << s1 << "\n" << s2 << "\n" << s3 << "\n";
- string res[s1.size()];
- int x = 0, stop = 0, i = 0, t = 0;
- while (i < s1.size()) {
- cout << i << " " << s1[i] << "\n";
- for (int j = 0; j < s2.size(); ++j) {
- if (s1[i] == s2[j]) {
- for (int k = 0; k < s3.size(); ++k) {
- if (s3[k] == s1[i]) {
- int ii = i, jj = j, kk = k;
- while (ii < s1.size() && jj < s2.size() && kk < s3.size()) {
- cout << s1[ii] << " " << s2[jj] << " " << s3[kk] << "\n";
- if (s1[ii] == s2[jj] && s2[jj] == s3[kk]) {
- res[x] += s1[ii];
- ii++;
- kk++;
- jj++;
- cout << "1res = " << res[x] << " // x - " << x << "\n";
- } else {
- break;
- }
- }
- cout << "res = " << res[x] << "\n";
- i -= res[x].size();
- i+=2;
- if (!res[x].empty()) x++;
- m = 1;
- break;
- } else if (k == s3.size() - 1) {
- i -= res[x].size();
- i+=2;
- if (!res[x].empty()) x++;
- stop = 1;
- break;
- }
- }
- } else if ((j == s2.size() - 1 || stop == 1) && m != 1) {
- i -= res[x].size();
- i+=2;
- if (!res[x].empty()) x++;
- break;
- }
- }
- stop = 0;
- m = 0;
- }
- int mx = -1, mxi = 0;
- for (int l = 1; l < x; ++l) {
- if (res[l].size() > res[l-1].size()) {
- mxi = l;
- mx = res[l].size();
- }
- }
- cout << res[mxi];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement