标签:pac 例子 highlight als editable 理解 个数 难度 blog
现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?
3 abcdefghijkl hgebkflacdji gfkedhjblcia
1 302715242 260726926
1 /* 2 Name: NYOJ--139--我排第几个 3 Copyright: ?2017 日天大帝 4 Author: 日天大帝 5 Date: 29/04/17 10:49 6 Description: 康托展开 7 */ 8 #include<iostream> 9 using namespace std; 10 int main(){ 11 ios::sync_with_stdio(false); 12 int jiecheng[15]; 13 jiecheng[1] = 1; 14 for(int i=2; i<14; ++i){ 15 jiecheng[i] = i * jiecheng[i-1]; 16 } 17 int t;cin>>t; 18 while(t--){ 19 string str; 20 cin>>str; 21 int num = 0; 22 for(int i=0; i<str.size(); ++i){ 23 int cnt = 0 ; 24 for(int j=i+1; j<str.size(); ++j){ 25 if(str[i] > str[j]) 26 cnt++; 27 } 28 num += cnt*jiecheng[str.size()-i-1]; 29 } 30 cout<<num+1<<endl; 31 } 32 return 0; 33 }
看了这个例子应该好理解点:
标签:pac 例子 highlight als editable 理解 个数 难度 blog
原文地址:http://www.cnblogs.com/rtdd/p/6785251.html