作者zerodevil (冰心无情)
看板Programming
标题Re: 在c++中产生n个0和m个1的排列
时间Mon Nov 9 14:14:23 2009
※ 引述《sorryChen (陈扬和)》之铭言:
: 这应该是个简单recursive可以完成的问题
: 而且我查到stl的next_permutation可用,但好像仅适用在n个不同的element
: 用在这个问题 就太多pattern被重复列举了...
明明就可以.
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int a[] = {0, 0, 1, 1};
do {
cout << a[0] << ' ' << a[1] << ' ' << a[2] << ' ' << a[3] << endl;
} while(next_permutation(a, a+4));
}
output:
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.186.66
1F:→ dp2:好……219.236.246.150 11/09 16:43
2F:推 KanoLoa:@O@ 114.32.40.137 11/10 03:25
3F:推 bobju:哇~一个函式就打死..表现机会没了. x( 58.115.151.184 11/10 12:33
4F:推 sorryChen:Thank you very much 128.125.87.33 11/18 15:35
5F:推 bin90909:厉害! 140.113.5.201 03/11 20:12