题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3226 题意简述:对于给定的特定字符序列,求其对应的字典序。 解题思路:暑假时做过,这里就直接贴代码了。 代码: #include<stdio.h> #include<string.h> using namespace std; char a[30],d[99]; int c[50],i,j,k,n; int main() { while(scanf("%d",&n)&&n) { memset(d,0,sizeof(d)); memset(c,0,sizeof(c)); getchar(); gets(a); for(i=0;i<n;i++) { k=0; for(j='A';j<a[i];j++)if(d[j]<1)k++; d[a[i]]=1; for(j=0;j<49;j++)c[j]*=(26-i); c[0]+=k; for(j=0;j<48;j++){ c[j+1]+=c[j]/10; c[j]=c[j]%10; } } i=49; while(c[i]<1&&i>0)i--; for(j=i;j>=0;j--)printf("%d",c[j]); printf("/n"); } return 0; }