|
本帖最后由 张溯源 于 2020-3-1 21:27 编辑
孙老师果然真是牛逼
献上关于组合的代码:
- #include<iostream>
- #include<cstdio>
- using namespace std;
- int n,r;
- int a[23];
- bool b[23]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
- void pr()
- {
- for(int i=1;i<=r;i++)
- printf("%3d",a[i]);
- cout<<endl;
- }
- void pmn(int i)
- {
- if(i>r)
- pr();
- else
- {
- for(int h=a[i-1]+1;h<=n;h++)
- if(b[h]==1)
- {
- b[h]=0;
- a[i]=h;
- pmn(i+1);
- b[h]=1;
- }
- }
- }
- int main()
- {
- cin>>n>>r;
- pmn(1);
- return 0;
- }
复制代码
|
|