本文共 1586 字,大约阅读时间需要 5 分钟。
时间限制:1秒 内存限制:128兆
3 30109090126 4523727537523572353272537
32700
1 #include2 using namespace std; 3 char a[10][10]; 4 int main() 5 { 6 int n,k; 7 while(cin>>n>>k) 8 { 9 int b[10];10 for(int i=1;i<=n;i++)11 cin>>a[i];12 for(int i=1;i<=k;i++)13 b[i]=i;14 int m=1;15 for(int i=1;i<=k;i++)16 m*=i;//直接求k!用m来装k全排列的可能性17 int output=0x3f3f3f3f;18 for(int i=1;i<=m;i++)19 {20 next_permutation(b+1,b+1+k);//全排列21 int c[10];22 memset(c,0,sizeof(c));23 for(int i=1;i<=n;i++)24 {25 for(int j=1;j<=k;j++)26 {27 c[i]=c[i]*10+a[i][b[j]-1]-'0';//数组c用来装数组a排列后的值28 }29 }30 sort(c+1,c+1+n);//排序,将数组c中的值进行升序排列31 output=min(output,c[n]-c[1]);//维护一个最大值一个最小值相减,求最小差值32 }33 cout<
转载地址:http://phtyo.baihongyu.com/