void permu(int arr[],int n, int k) { int i,check,m; if(k==n-1) { // for(i=0;i<n;i++) // printf("%d",arr[i]); } printf("\n"); for(i=k;i<n;i++) { swap(k,i); permu(arr,n,k+1); for(m=0;m<n;m++) printf("%d",arr[m]); printf("\n"); sort(arr,k,n); swap(k,i); } }
void main() { char a[100], b[100]; int i, j; printf("enter two strings \n"); scanf("%s%s", a, b); permu(a, b); }
int main() { char st1[50], st2[50],r=0; printf("first string\n"); scanf("%s", st1); printf("enter second string \n"); scanf("%s", st2); r=permu(st1, st2); if (r == 0) printf("the second string is one of permutation of first string\n"); else printf("the second string is \"not\" one of permutation of first string\n"); return 0; }
int main() { int i,j,t,n,k=0; scanf("%d",&t); while(t!=0) { scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&arr[i]); permu(arr,n,k); t--; } return 0; }
string getPermutation(int n, int k) { vector<int> nums(n); for(int i=0;i<n;i++) nums[i]=i+1; vector<int> permu(n); permu[0]=1; for(int i=1;i<n;i++) permu[i]=permu[i-1]*(i+1); string ret; if((n>0)&&(k>0)&&(k<=permu[n-1])){ if(k>1) getPermutation_aux(0,k-1,permu,nums); for(int i=0;i<nums.size();i++) ret.push_back('0'+nums[i]); } return ret; }