全排列2

Posted sos3210

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全排列2相关的知识,希望对你有一定的参考价值。

注意:

1,回车和空格

2,是四位数,所以千位不能是0

接下来放代码

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
int arr[5];
cin >> arr[0] >> arr[1] >> arr[2] >> arr[3];
sort(arr,arr+4);
arr[4]=-1;
while(1){
do{
if(!arr[0])continue;//
if(arr[4]!=arr[0]&&arr[4]!=-1)cout << ‘ ‘;
else if(arr[4]==arr[0])cout << ‘ ‘;
cout << arr[0] << arr[1] << arr[2] << arr[3];
arr[4]=arr[0];
}while(next_permutation(arr,arr+4));
cout << endl;
cin >> arr[0] >> arr[1] >> arr[2] >> arr[3];
sort(arr,arr+4);
arr[4]=-1;
if(arr[0]||arr[1]||arr[2]||arr[3])cout << endl;
else break;
}
return 0;
}

以上是关于全排列2的主要内容,如果未能解决你的问题,请参考以下文章

回溯2--部分全排列

带重复的全排列问题

递归实现全排列

算法习题---字符串的全排序列

递归解决全排列生成算法

LeetCode:全排列46