题目链接:1.排列序数 - 蓝桥云课 (lanqiao.cn)
解题思路:日常理解错题目意思,刚开始以为只对abcd字符串进行判断,但是过不了,仔细阅读题目才发现是跟你输入的字符串进行全排列,直接用全排列函数next_permutation()对字符串进行排列即可,排列前先对字符串排序从最小的字符串开始全排列,当排列后的一个字符串等于输入的字符串就输出序号并跳出循环.
下面是c++代码:
#include <iostream>
#include<algorithm>
using namespace std;
int main()
{
// 请在此输入您的代码
int index = 0;
string s,str;
cin >> str;
s = str;
sort(s.begin(),s.end());
do {
if (s == str) {
cout << index;
}
index++;
} while (next_permutation(s.begin(), s.end()));
return 0;
}