#include<iostream>
#include<cstdio>
#include<string.h>
#include<algorithm>
#include<cmath>
using namespace std;
int sol(int a[],int l)
{
int x=0,y=0;
int Min=1<<25;
if(l==1)
return a[1];
if(l==2)
return abs(a[1]-a[2]);
while(a[1]==0)
{
next_permutation(a+1,a+1+l);
}
int mid=(l+1)/2;
do
{
if(a[mid+1])
{
x=y=0;
for(int i=1;i<=mid;i++)
x=x*10+a[i];
for(int i=mid+1;i<=l;i++)
y=y*10+a[i];
Min=min(Min,abs(x-y));
}
}while(next_permutation(a+1,a+1+l));
return Min;
}
int main()
{
int t;
scanf("%d",&t);
getchar( );
while(t--)
{
char s[100];
int a[100];
gets(s);
int l=strlen(s);
//printf("%s %d\n",s,l);
for(int i=0,j=1;i<l;i=i+2)
{
//printf("%c\n",s[i]);
a[j++]=s[i]-'0';
}
int ans=sol(a,(l+1)/2);
printf("%d\n",ans);
}
return 0;
}
LQB 2D
最新推荐文章于 2024-09-13 20:53:00 发布