#include <bits/stdc++.h>
using
namespace
std;
int
minDifference(
int
X,
int
Y)
{
int
minDiff = INT_MAX;
string x = to_string(X);
string y = to_string(Y);
int
n = x.size();
int
a[2][n];
for
(
int
i = 0; i < 2; i++) {
for
(
int
j = 0; j < n; j++) {
if
(i == 0)
a[i][j] = x[j] -
'0'
;
else
a[i][j] = y[j] -
'0'
;
}
}
int
p[n];
for
(
int
i = 0; i < n; i++)
p[i] = i;
do
{
int
xx = INT_MIN;
int
yy = INT_MAX;
for
(
int
i = 0; i < 2; i++) {
int
num = 0;
for
(
int
j = 0; j < n; j++)
num = num * 10 + a[i][p[j]];
xx = max(xx, num);
yy = min(yy, num);
}
minDiff = min(minDiff, xx - yy);
}
while
(next_permutation(p, p + n));
return
minDiff;
}
int
main()
{
int
X = 37198, Y = 44911;
cout << minDifference(X, Y);
return
0;
}
Original page link
Best Cool Tech Gadgets
Top favorite technology gadgets
0 comments:
Post a Comment