什么是公排系统?公排制模式并不是单一的模式,按照制度、模式、奖金等不同形式分为:全球公排一条线模式、二二复制公排(双轨制)、三三复制排位(三轨制)、五级三阶模式等等,自动滑落跳排排位。
输入字符,对字符进行全排列。这里用了两种方法,递归调用(一些书上写的是DFS)和c++系统自带的方式。
?
#include <iostream>
#include<string>
#include<algorithm>
using namespace std;
char output[10];bool s[10];
void permutation(string str, int index){if (index == str.size()){for (int i = 0; i < str.size(); i++) {cout << output[i];}cout << endl;return;}
for (int i = 0; i < str.size(); i++) //每个位置有3个选择 { if (s[i] ) { continue; }//这个位置不能选这个字母,直接跳过
output[index] = str[i]; s[i] = true; permutation(str, index+1); s[i] = false; //回溯,重要一步 }
?int main(){string s;cin >> s;//自定义全排列permutation(s, 0);
//系统的全排列行数,没有下一个时返回false while (next_permutation(s.begin(), s.end() )) { cout << s << endl; }
}
|