#include<iostream>
#include<iomanip> 
#include<algorithm>

unsigned long long sum = 1;

using namespace std;

int main()
{
    
    unsigned int a;
    cin >> a;
    
    if(cin.fail() == true || a > 20){
    	
    	printf("Are you kidding me?");
    	
    	return 0;
	}
    
    int n[a];
    
    for(int i = 0; i < a; ++i){
        
        n[i] = i + 1;
    }
    
    for(int i = 1; i < a + 1; ++i){
        
        sum *= i;
    }
    
    ios::sync_with_stdio(false);
    
    for(int i = 0; i < a; ++i){
        
        cout << setw(5) << n[i];
    }
    
    cout << "\n";
    
    for(unsigned long long i = 1; i < sum; ++i){
        
        next_permutation(n,n + a);
        
        for(int t = 0; t < a; ++t){
            
            cout << setw(5) << n[t];
        }
        
        cout << "\n";
    }
    
    return 0;
}

运行之后输入12 如果你半小时内可以结束输出 那么就说明你的电脑很牛逼

1 comments

  • @ 2024-9-29 15:36:13

    我已经运行10分钟了 但是现在才输出了8分之1(输入就是12)

    • @ 2024-10-27 12:18:16

      我已经运行1分钟了 但是现在才输出了12(输入就是12)

  • 1