我排第几个
时间限制: 1000 ms | 内存限制:65535 KB
难度: 3
- 描述
-
现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?
- 输入
- 第一行有一个整数n(0<n<=10000); 随后有n行,每行是一个排列; 输出
- 输出一个整数m,占一行,m表示排列是第几位; 样例输入
-
3abcdefghijklhgebkflacdjigfkedhjblcia
样例输出 -
1302715242260726926
1 #include
2 #include 3 using namespace std; 4 long long fac(long long x) 5 { 6 if(x==1) 7 return 1; 8 return x*fac(x-1); 9 }10 int main()11 {12 int n;13 char a[13];14 int i,j;15 //freopen("int.txt","r",stdin);16 cin>>n;17 getchar();18 while(n--)19 {20 cin>>a;21 long long temp=0,num=0;22 for(i=0;i<11;i++)23 {24 temp=0;25 for(j=i+1;j<12;j++)26 {27 if(a[j]