#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