#include <iostream>
using namespace std;
void print_emu(int a[], int x[], int n, int cur) {
if (cur == 3) {
for (int i = 0; i < 3; i++)
cout << x[i] << " ";
cout << endl;
return;
} else for (int i = 0; i < n; i++) {
if (!i || a[i] != a[i-1]) {
int c1 = 0;
int c2 = 0;
for (int j = 0; j < cur; j++)
if (a[i] == x[j]) ++c1;
for (int j = 0; j < n; j++)
if (a[i] == a[j] ) ++c2;
if (c1 < c2) {
x[cur] = a[i];
print_emu(a, x, n, cur+1);
}
}
}
}
int main() {
int x[5];
int a[5] = {1, 1, 3, 4, 5};
print_emu(a, x, 5, 0);
return 0;
}
LRJ生成可重复的排列
最新推荐文章于 2018-12-28 20:49:53 发布