1 solutions

  • 0
    @ 2024-12-11 0:16:56

    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

    Information

    ID
    683
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By