-
/*现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?
-
输入
-
第一行有一个整数n(0<n<=10000);
随后有n行,每行是一个排列;
输出
- 输出一个整数m,占一行,m表示排列是第几位; 样例输入
-
3 abcdefghijkl hgebkflacdji gfkedhjblcia
样例输出
-
1 302715242 260726926
-
第一行有一个整数n(0<n<=10000);
<span style="font-family:SimSun;font-size:18px;">#include <stdio.h>
//#include <stdlib.h>
int a[12]={1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800};
int main()
{
//system("color 2e");
char b[12];
int n;
scanf("%d",&n);
while(n--)
{
int i,j,c;
scanf("%s",b);
//system("cls");
int sum=1;
for(i=0;i<12;i++)
{
c=0;
for(j=i+1;j<12;j++)
if(b[i]>b[j])
{
c++;
}
sum=sum+c*a[11-i];
}
printf("%d\n",sum);
}
return 0;
}</span>