标签:
2 3 1 4 2
1 2 3 12 13 14 21 23 24 31 32 34 41 42 43
给定1到n的数,求x位数的全排列
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 using namespace std; 6 int main() 7 { 8 int n,k,num,i; 9 char a[10],b[10]; 10 cin>>n; 11 while(n--) 12 { 13 cin>>k>>num; 14 for(i=0;i<k;i++) 15 a[i]=‘0‘+i+1; 16 a[k]=‘\0‘; 17 for(i=0;i<num;i++) 18 cout<<a[i]; 19 cout<<endl; 20 strcpy(b,a); 21 while(next_permutation(a,a+k)) 22 { 23 int flag=0; 24 for(i=0;i<num;i++) 25 { 26 if(a[i]!=b[i]) 27 { 28 flag=1; 29 } 30 } 31 if(flag) 32 { 33 for(i=0;i<num;i++) 34 cout<<a[i]; 35 cout<<endl; 36 strcpy(b,a); 37 } 38 else 39 continue; 40 } 41 } 42 }
标签:
原文地址:http://www.cnblogs.com/a1225234/p/4818000.html