题目为P10448
代码如下
#include<bits/stdc++.h>
using namespace std;
int n,m;
bool book[25]={0};
int shu[25]={0};
void p(){
for(int i=1;i<=m;i++){
cout<<shu[i]<<" ";
}
cout<<"\n";
}
void dfs(int wei){
for(int i=1;i<=n;i++){
if(!book[i]){
if(shu[wei-1]<=i)
if(wei==m){
shu[wei]=i;
p();
shu[wei]=0;
}else{
book[i]=true;
shu[wei]=i;
dfs(wei+1);
book[i]=false;
shu[wei]=0;
}
}
}
}
int main(){
cin>>n>>m;
dfs(1);
return 0;
}
求dalao调代码
第二个测试点爆了!