Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
100256 | 柯昊阳 | 组合问题 | C++ | 运行超时 | 91 | 1957 MS | 240 KB | 548 | 2023-08-25 10:17:00 |
#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 = 1;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; }