题目描述
给两个数,长度相同,交换同等位数的数字,使他们的乘积最大
1≤t≤1000
1≤x<10^100;
1≤y<10^100;
样例
input
3
73
31
2
5
3516
3982
output
71
33
5
2
3912
3586
根据重要不等式,当两个数相近时,他们的乘积是最大的
两个数交换位数相同的数字使他们差值最小,实现代码:
void solve()
{
string s, t;
cin >> s >> t;
if(s < t) swap(s, t);//swap可以实现lgestring字符串的直接交换
for(int i = 0; i < s.size(); i ++)
if(s[i] > t[i] && s > t)
swap(s[i], t[i]);
else if(s[i] < t[i] && s < t)
swap(s[i], t[i]);
cout << t << endl << s << endl;
}