fork download
  1. #include<iostream>
  2. #include<vector>
  3. #include<stdio.h>
  4. #include<algorithm>
  5. using namespace std;
  6.  
  7. int main(){
  8. int cases,ways = 1,i,j,n,m,a[11],c[11],e[11],l = 0,t = 0;
  9. vector<int> b,d;
  10. scanf("%i",&cases);
  11.  
  12. while(t < cases){
  13. for(i = 0 ; i < 11 ; i++){
  14. scanf("%i",&a[i]);
  15. c[i] = 0,e[i] = 0;
  16. }
  17. scanf("%i",&n);
  18.  
  19. sort(a,a + 11);
  20.  
  21. for(i = 0 ; i < n ; i++){
  22. b.push_back(a[10 - i]);
  23. }
  24.  
  25. for(i = 0 ; i < 11 - n ; i++){
  26. d.push_back(a[i]);
  27. }
  28.  
  29. // for(i = 0 ; i < n ; i++){
  30. // printf("%i ",b[i]);
  31. // }
  32. // printf("\n");
  33. // for(i = 0 ; i < 11 - n ; i++){
  34. // printf("%i ",d[i]);
  35. // }
  36.  
  37. for(i = 0 ; i < b.size() ; i++){
  38. for(j = i + 1 ; j < b.size() ; j++){
  39. if(b[i] == b[j]){
  40. c[l]++;
  41. b.erase(b.begin() + j);
  42. j--;
  43. }
  44. else
  45. break;
  46. }
  47. c[l]++;
  48. l++;
  49. }
  50.  
  51. /*
  52.   printf("the b is\n");
  53.   for(i = 0 ; i < l ; i++){
  54.   printf("%i ",b[i]);
  55.   }
  56.   printf("\nthe c is\n");
  57.   for(i = 0 ; i < l ; i++){
  58.   printf("%i ",c[i]);
  59.   }
  60.   printf("\nthe d is\n");
  61.   for(i = 0 ; i < 11 - n ; i++){
  62.   printf("%i ",d[i]);
  63.   }
  64.  */
  65.  
  66. l = 0;
  67.  
  68. for(i = 0 ; i < b.size() ; i++){
  69. for(j = 0 ; j < 11 - n ; j++){
  70. if(b[i] == d[j])
  71. e[l]++;
  72. }
  73. l++;
  74. }
  75. /*
  76.   printf("\nthe e is\n");
  77.   for(i = 0 ; i < l ; i++){
  78.   printf("%i ",e[i]);
  79.   }
  80.  
  81.   printf("\n");
  82. */
  83.  
  84. for(i = 0 ; i < l ; i++){
  85. if(e[i] == 0){
  86. ways = ways*1;
  87. }
  88. else{
  89. m = c[i];
  90. c[i] = c[i] + e[i];
  91. for(j = 0 ; j < m ; j++){
  92. ways = ways*c[i];
  93. c[i]--;
  94. }
  95. ways = (ways)/2 ;
  96. }
  97. }
  98.  
  99. printf("%i\n",ways);
  100.  
  101. t++,ways = 1,l = 0,b.clear(),d.clear();
  102. }
  103. return 0;
  104. }
Success #stdin #stdout 0s 2868KB
stdin
1
2 2 2 2 2 2 2 2 2 2 2
5
stdout
27720