fork download
  1. #include<iostream>
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int n,ok;
  6. string a[10];
  7. void khoitao(){
  8. cin>>n;
  9. for(int i=1;i<=n;i++) a[i]=i+64;
  10. ok=0;
  11. }
  12. void in(){
  13. for(int i=1;i<=n;i++) cout<<a[i];
  14. cout<<' ';
  15. }
  16. void sinh(){
  17. int d=n-1;
  18. while(d>0&&a[d]>a[d+1]) d--;
  19. if(d==0) {
  20. ok=1;
  21. }else{
  22. int j=n;
  23. while(a[j]<a[d]) j--;
  24. swap(a[j],a[d]);
  25. int l=d+1,r=n;
  26. while(l<r){
  27. swap(a[l],a[r]);
  28. l++;r--;
  29. }
  30. }
  31. }
  32. void xuli(){
  33. khoitao();
  34. while(ok==0){
  35. in();
  36. sinh();
  37. }
  38. }
  39. int main(){
  40. int t;cin>>t;
  41. while(t--){
  42. xuli();
  43. cout<<endl;
  44. }
  45. }
Success #stdin #stdout 0.01s 5444KB
stdin
2
2
4
stdout
AB BA 
ABCD ABDC ACBD ACDB ADBC ADCB BACD BADC BCAD BCDA BDAC BDCA CABD CADB CBAD CBDA CDAB CDBA DABC DACB DBAC DBCA DCAB DCBA