1 条题解
-
0
C++ :
#include<iostream> using namespace std; int n,a[10]; void solve(){ for (int i=1;i<=n;i++) cout<<a[i]; cout<<endl; int i=n,k; while (i>1&&a[i]<a[i-1]) i--; if (i==1) return; k=i-1; i=n; while (a[i]<a[k]) i--; swap(a[k],a[i]); for (int j=k+1;j<=(k+n+1)/2;j++) swap(a[j],a[k+n+1-j]); solve(); } int main(){ cin>>n; for (int i=1;i<=n;i++) a[i]=i; solve(); return 0; }
- 1
信息
- ID
- 667
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者