Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
100285 | 柯昊阳 | 组合问题 | C++ | 运行超时 | 91 | 2016 MS | 252 KB | 550 | 2023-08-25 10:47:58 |
#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; }