fork download
  1. #include <stdio.h>
  2.  
  3. void shuffle(int *deck[])
  4. {
  5. int d[10000];
  6. int i = 0;
  7. while(deck[i])
  8. {
  9. d[i] = *deck[i];
  10. i++;
  11. }
  12. int a = i / 2 + i % 2 ;
  13. int j = 0;
  14. int k = 0;
  15. while(deck[j])
  16. {
  17. *deck[j] = d[k];
  18. j++;
  19. k++;
  20. if(d[a])
  21. {
  22. *deck[j] = d[a];
  23. j++;
  24. a++;
  25. }
  26. }
  27. }
  28. void print(int *deck[])
  29. {
  30. int i = 0;
  31. while(deck[i])
  32. {
  33. printf("%d ", *deck[i] );
  34. i++;
  35. }
  36. }
  37.  
  38. int main()
  39. {
  40. int card[10000];
  41. int *deck[10000];
  42. int index = 0;
  43.  
  44. while (scanf("%d", &(card[index])) != EOF) {
  45. deck[index] = &(card[index]);
  46. index++;
  47. }
  48. deck[index] = NULL;
  49. shuffle(deck);
  50. print(deck);
  51. return 0;
  52. }
  53.  
Success #stdin #stdout 0s 16080KB
stdin
39 13 92 69 58 96 143 153 54 199 89 159 68 141 40 198 187 10 123 173 126 6 14 205 32 183 52 37 157 106 138 94 193 16 119 148 114 11 33 53 87 192 206 43 84 164 51 80 116 107 115 49 110 151 129 186 59 70 88 149 191 145 120 184 81 169 75 180 55 4 20 91 102 163 112 127 104 150 136 158 19 146 61 17 128 155 168 202 98 147 34 86 27 5 113 97 171 30 47 144 73 78 28 167 62 177 31 124 132 72 50 82 176 134 21 165 170 166 100 154 140 182 9 196 65 63 41 45 175 23 67 195 188 130 108 194 161 95 201 179 122 203 77 76 174 3 66 117 44 178 24 181 105 18 1 204 190 26 60 74 83 118 172 8 29 156 139 135 64 200 38 35 2 101 121 42 160 137 197 25 207 99 103 131 162 125 109 7 133 90 71 93 57 46 79 48 36 142 189 111 185 85 22 152 12 15 56
stdout
39 62 13 177 92 31 69 124 58 132 96 72 143 50 153 82 54 176 199 134 89 21 159 165 68 170 141 166 40 100 198 154 187 140 10 182 123 9 173 196 126 65 6 63 14 41 205 45 32 175 183 23 52 67 37 195 157 188 106 130 138 108 94 194 193 161 16 95 119 201 148 179 114 122 11 203 33 77 53 76 87 174 192 3 206 66 43 117 84 44 164 178 51 24 80 181 116 105 107 18 115 1 49 204 110 190 151 26 129 60 186 74 59 83 70 118 88 172 149 8 191 29 145 156 120 139 184 135 81 64 169 200 75 38 180 35 55 2 4 101 20 121 91 42 102 160 163 137 112 197 127 25 104 207 150 99 136 103 158 131 19 162 146 125 61 109 17 7 128 133 155 90 168 71 202 93 98 57 147 46 34 79 86 48 27 36 5 142 113 189 97 111 171 185 30 85 47 22 144 152 73 12 78 15 28 56 167