2 solutions

  • 1
    @ 2024-7-16 20:52:46
    #include<bits/stdc++.h>
    using namespace std;
    int n;
    char a[15];
    bool is(string n,char m){
    	for(int i=0;i<n.size();i++) if(n[i]==m) return false;
    	return true;
    }
    void A(string w){
    	if(w.size()==n){
    		for(int i=0;i<n;i++) cout<<"    "<<w[i];cout<<"\n";}
    		else for(int i=0;i<n;i++) if(is(w,a[i])) A(w+a[i]);
    }
    int main(){
    	cin>>n;
    	for(int i=0;i<n;i++) a[i]=i+1+'0';
    	A("");
    	return 0;
    }
    
    
    • 0
      @ 2024-8-9 23:16:25
      #include<iostream>
      #include<cstring> 
      using namespace std;
      char s[10];
      int len , n;
      void arrange(int k) {
          if(k == len - 1) {
              for(int i = 0;i < n;i++){
              	cout << "    " << s[i];
      		}
      		cout << endl;
              return;
          }
          for(int i = k;i < len;i++){
              swap(s[k] , s[i]); 
              arrange(k + 1);
          }
          for(int i = k; i < len-1; ++i)
              swap(s[i] , s[i + 1]);
      }
      int main(){
      	cin >> n;
      	for(int i = 0;i < n;i++){
      		s[i] = i + 1 + '0';
      	}
          len = strlen(s);
          arrange(0);
          return 0;
      }
      
      
      • 1

      Information

      ID
      1113
      Time
      1000ms
      Memory
      125MiB
      Difficulty
      8
      Tags
      # Submissions
      13
      Accepted
      7
      Uploaded By