1 条题解

  • 0
    @ 2025-2-14 21:09:17

    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
    上传者