##这是改后的代码
#include <iostream>
#include <iomanip>
#include <algorithm>
int n,r,s[25];
using namespace std;
void dfs(int k,int startx)
{
s[k]=startx;
if(k==r)
{
if(s[1]!=0)
{
for(int i=1;i<=r;i++)
cout<<setw(3)<<s[i];
cout<<endl;
return ;
}
}
for(int t=startx;t<n;t++)
dfs(k+1,t+1);
}
int main ()
{
cin>>n>>r;
dfs(0,0);
return 0;
}
有没有办法传入dfs(1,1)实现搜索纳(修改下面的代码)
#include <iostream>
#include <iomanip>
#include <algorithm>
int n,r,s[25];
using namespace std;
void dfs(int k,int startx)
{
s[k]=startx;
if(k==r)
{
for(int i=1;i<=r;i++)
cout<<setw(3)<<s[i];
cout<<endl;
return ;
}
for(int t=startx;t<n;t++)
dfs(k+1,t+1);
}
int main ()
{
cin>>n>>r;
dfs(1,1);
return 0;
}