qwq___qaq @ 2022-05-02 10:14:55
#include<bits/stdc++.h>
using namespace std;
int n,r,a[105];
int main(){
cin>>n>>r;
for(int i=1;i<=n;i++)
a[i]=i;
do{
for(int i=1;i<=r;i++)
printf("%d ",a[i]);
puts("");
}while(next_permutation(a+1,a+n+1));
return 0;
}
by TheSky233 @ 2022-05-02 10:33:24
这题显然不能这么做吧。
比如 5 2
next_permutation
枚举的是全排列,也就是说
1 2 3 4 5
1 2 3 5 4
1 2 4 3 5
1 2 4 5 3
......
这些全会被枚举到,然后按照您的思路
这些全输出的是
1 2
1 2
1 2
1 2
by Arctic_1010 @ 2022-05-11 10:42:24
@TheSky233 可以嗯造 next_permutation
,但是可能需要哈希判重。