思路:
STL封装好的全排列函数next_permutation()就是快啊,无奈自己写的全排列各种TLE~
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long ll;
const int inf=0x3f3f3f3f;
int t,k,Min;
int s[20];
int main()
{
scanf("%d",&t);
getchar();
while(t--){
for(k=0;;k++){
scanf("%d",&s[k]);
if(getchar()=='\n')break;
}
sort(s,s+k+1);
Min=inf;
do{
int x=0,y=0;
if(s[0]==0&&(k+1)/2>1)continue; //处理0开头
for(int i=0;i<(k+1)/2;i++)
x=x*10+s[i];
if(s[(k+1)/2]==0&&k>(k+1)/2)continue; //处理0开头
for(int i=(k+1)/2;i<=k;i++)
y=y*10+s[i];
if(abs(x-y)<Min)Min=abs(x-y);
}while(next_permutation(s,s+k+1));
printf("%d\n",Min);
}
return 0;
}