Advertisement
lily09290110

包牌問題(不重複)d115

Feb 1st, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.72 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int n,m;
  4. int sort[100],record[100];
  5. int cmp(const void *a,const void *b)
  6. {
  7.     int x=*(int*)a;
  8.     int y=*(int*)b;
  9.     return(x<y?-1:x>y?1:0);
  10. }
  11. int search(int take_point,int star)
  12. {
  13.     int j,i;
  14.     if(take_point==m)
  15.     {
  16.         for(i=0;i<m;i++)
  17.         printf("%d ",sort[record[i]]);
  18.         printf("\n");
  19.     }
  20.     else
  21.     {
  22.         for(j=star;j<n;j++)
  23.         {
  24.             record[take_point]=j;
  25.             search(take_point+1,j+1);
  26.         }
  27.     }
  28. }
  29. int main(i)
  30. {
  31.     while(scanf("%d",&n)!=EOF&&n!=0)
  32.     {
  33.         for(i=0;i<n;i++) scanf("%d",&sort[i]);
  34.         qsort(sort,n,4,cmp);
  35.         scanf("%d",&m);
  36.         search(0,0);
  37.     }
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement