fork download
  1. #include <iostream>
  2. #include <time.h>
  3. #include <assert.h>
  4. #include <vector>
  5.  
  6. #define FIELD_SIZE 10
  7.  
  8. int main() {
  9. size_t id, i, x, y;
  10. std::vector<int>v(FIELD_SIZE * FIELD_SIZE);
  11. //
  12. srand(int(time(nullptr)));
  13. // заполняем выборку ходов
  14. for(i = v.size() ; i-- ; v[i] = i);
  15. // перемешиваем выборку ходов
  16. for(i = v.size() ; i-- ; ){
  17. id = int(double(i) * rand() / RAND_MAX + .5);
  18. assert(id < v.size());
  19. // v[id] - случайный ход, без повторов
  20. y = v[id] / FIELD_SIZE;
  21. x = v[id] % FIELD_SIZE;
  22. printf( "turn (%i, %i)\r\n", (int)x, (int)y);
  23. // удаляем ход из текущей выборки
  24. std::swap(v[i], v[id]);
  25. }
  26. return 0;
  27. }
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
turn (6, 2)
turn (5, 1)
turn (9, 1)
turn (2, 6)
turn (3, 0)
turn (5, 4)
turn (2, 7)
turn (5, 7)
turn (8, 5)
turn (7, 6)
turn (0, 4)
turn (7, 4)
turn (3, 9)
turn (9, 0)
turn (8, 3)
turn (8, 9)
turn (0, 2)
turn (1, 9)
turn (4, 0)
turn (6, 5)
turn (2, 0)
turn (4, 9)
turn (8, 0)
turn (3, 7)
turn (5, 3)
turn (8, 8)
turn (3, 4)
turn (1, 5)
turn (2, 5)
turn (7, 3)
turn (7, 0)
turn (0, 0)
turn (8, 7)
turn (7, 9)
turn (2, 4)
turn (0, 9)
turn (8, 4)
turn (7, 2)
turn (2, 3)
turn (4, 2)
turn (0, 1)
turn (7, 5)
turn (4, 5)
turn (8, 6)
turn (1, 8)
turn (1, 2)
turn (9, 5)
turn (7, 1)
turn (5, 0)
turn (2, 1)
turn (1, 0)
turn (6, 0)
turn (5, 8)
turn (3, 6)
turn (5, 5)
turn (0, 5)
turn (3, 3)
turn (8, 2)
turn (9, 8)
turn (3, 8)
turn (7, 7)
turn (5, 9)
turn (6, 6)
turn (1, 3)
turn (3, 1)
turn (7, 8)
turn (0, 7)
turn (4, 6)
turn (8, 1)
turn (4, 7)
turn (6, 1)
turn (2, 8)
turn (9, 7)
turn (4, 4)
turn (6, 7)
turn (1, 6)
turn (1, 4)
turn (5, 6)
turn (3, 5)
turn (5, 2)
turn (0, 6)
turn (6, 8)
turn (9, 4)
turn (9, 2)
turn (6, 3)
turn (6, 9)
turn (0, 3)
turn (4, 3)
turn (4, 8)
turn (4, 1)
turn (9, 3)
turn (0, 8)
turn (2, 2)
turn (9, 6)
turn (3, 2)
turn (2, 9)
turn (6, 4)
turn (1, 7)
turn (9, 9)
turn (1, 1)