我排第几个

来源:互联网 发布:java衍生语言 编辑:程序博客网 时间:2024/04/27 18:04

/*现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?

输入
第一行有一个整数n(0<n<=10000);
随后有n行,每行是一个排列;
输出
输出一个整数m,占一行,m表示排列是第几位;
样例输入
3abcdefghijklhgebkflacdjigfkedhjblcia
样例输出
1302715242260726926

 
<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>






0 0
原创粉丝点击