Вступление
Учитывая эту визуализацию игрового поля:
(0,0)
+----------------------+(map_width, 0)
| A |
|-----+-----------+----|
| D | W | B |
|-----+-----------+----|
| C |
+----------------------+(map_width, map_height)
(0, map_height)
Вся карта, на которой играется, представляет собой прямоугольник с угловыми координатами (0,0) и (map_width, map_height). Очки, имеющие право на порождение врагов - Союз
Соревнование
Напишите код, который возвращает случайную точку (x, y), которая, как гарантированно, находится внутри S. Ваш код не может вводить никакого дополнительного смещения, означающего, что вероятность каждой координаты равномерно распределена с учетом предположения о том, что вы выбираете генерацию случайности (например, функция). | библиотека | dev / urandom) беспристрастна.
Самые короткие решения в байтах выигрывают!
вход
Вам будет предоставлена в общей сложности 6 положительных целое число входных переменных в следующем порядке:
map_width, map_height, W_top_left_x, W_top_left_y, W_width, W_height
. Можно предположить, что (расчетная) площадь поверхности всех областей (A, B, C, D, W) составляет> 10, поэтому пустых пространств / областей нет.
Пример ввода: 1000, 1000, 100, 100, 600, 400
Входные данные должны содержать 6 значений, описанных выше, но они могут передаваться как меньшее количество аргументов и в любом порядке. Например, (map_width, map_height)
допускается передача в виде кортежа Python. Что не допускается, конечно, рассчитанные параметры, такие как нижняя правая точка W.
Выход
2 случайно сгенерированных целых числа (x, y) где
ИЛИ
значение хотя бы одного из приведенных выше логических выражений должно быть истинным.
Примеры
Input Output(valid random samples)
1000 1000 100 100 600 400 10 10
1000 1000 100 100 600 400 800 550
1000 1000 100 100 600 400 800 10
1000 1000 100 100 600 400 10 550
Для получения подробной информации и ограничений для ввода / вывода, пожалуйста, обратитесь к стандартным правилам ввода / вывода
2 randomly generated integers (x, y)