我排第几个
我排第几个
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
-
现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?
- 输入
- 第一行有一个整数n(0<n<=10000);
随后有n行,每行是一个排列; - 输出
- 输出一个整数m,占一行,m表示排列是第几位;
- 样例输入
-
3 abcdefghijkl hgebkflacdji gfkedhjblcia
- 样例输出
-
1 302715242 260726926
- 来源
- [苗栋栋]原创
- 上传者
01.#include<iostream>02.#include<string.h>03.usingnamespacestd;04.intb[]={1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800};05.intkang(chars[])06.{07.intnum=0;08.for(inti=0;i<12;i++)09.{10.inttemp=0;11.for(intj=i+1;j<12;j++)12.{13.if(s[j]<s[i])14.{++temp;}15.}16.num+=temp*b[12-i-1];17.}18.returnnum+1;19.}20.intmain()21.{22.intN;23.chara[13];24.cin>>N;25.while(N--)26.{27.cin >> a;28.intk=kang(a);29.cout<<k<<endl;30.}31.return0;32.}

浙公网安备 33010602011771号