Hơi dài do nó là đệ quy (dùng while sẽ dễ)
/* _user_Capricoder_ */
// to daoanhviet2009
#include <bits/stdc++.h>
using namespace std;
string x, y, smin, smax;
void dequymin(int i, int j)
{
if (i == x.size())
{
while (j < y.size())
{
smin += y[j];
++j;
}
return;
}
if (j == y.size())
{
while (i < x.size())
{
smin += x[i];
++i;
}
return;
}
smin += min(y[j], x[i]);
if (x[i] < y[j]) ++i;
else ++j;
dequymin(i, j);
}
void dequymax(int i, int j)
{
if (i == x.size())
{
while (j < y.size())
{
smax += y[j];
++j;
}
return;
}
if (j == y.size())
{
while (i < x.size())
{
smax += x[i];
++i;
}
return;
}
smax += max(y[j], x[i]);
if (x[i] > y[j]) ++i;
else ++j;
dequymax(i, j);
}
int main()
{
ios::sync_with_stdio(0);
cout << "Nhap x: "; cin >> x;
cout << "Nhap y: "; cin >> y;
dequymin(0, 0);
dequymax(0, 0);
cout << smin << '\n' << smax;
return 0;
}