提交时间:2023-08-25 10:47:42
运行 ID: 100283
#include <bits/stdc++.h> using namespace std; int arr[25]; bool vis[25]; int n,m; bool check(){ for(int i = 1;i<=m;i++){ if(arr[i]<=arr[i-1]) return false; } return true; } void dfs(int cur){ if(cur==m+1){ if(check()){ for(int i = 1;i<=m;i++){ cout<<arr[i]; } cout<<endl; return; } return; } for(int i = cur;i<=n;i++){ if(!vis[i]){ vis[i] = true; arr[cur] = i; dfs(cur+1); vis[i] = false; } else continue; } return; } int main(){ cin>>n>>m; dfs(1); return 0; }