📄 组合生成(int).cpp
字号:
//全排列生成
#include<iostream.h>
#define n 9
#define true 1
#define false 0
int s[n],ans[n],count=0;
int used[n]={0};
void solve(int dep,int r)
{
int i,j=dep;
if(dep==r+1) //找到一个组合
{
for(i=1;i<=r;i++)
cout<<ans[i]<<ends;
cout<<endl;
count++;
return;
}
for(i=1;i<=n;i++)
{
if(!used[i]&&ans[j-1]<i)
{
ans[j]=i;
used[i]=true;
solve(dep+1,r); //递推
used[i]=false;
}
}
return;
}
void main()
{
solve(1,4); //初始递推深度为1
cout<<count<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -