#python
#python
Вопрос:
У нас есть фигура с n углами и ее координатами. Мне нужно разделить эту цифру на 2 цифры с одинаковой площадью. Деление выполняется параллельно оси y. Задача состоит в том, чтобы найти такую координату x, которая соответствовала бы условиям. Тест, например
4 (n angles)
0 0
0 2
2 2
2 0
Вывод должен быть 1
Я написал
n = int(input())
coordinates = []
for i in range(n):
x,y = map(int,input().split())
coordinates.append([x,y])
s = 0
for i in range(len(coordinates)-1):
s = coordinates[i][0]*coordinates[i 1][1]
s -= coordinates[i][1]*coordinates[i 1][0]
s = s/2
x = 0
print(s)
И после этого у меня нет никаких идей, что делать дальше..
Комментарии:
1. Если вы хотите использовать грубую силу, напишите функцию, которая находит области двух подформ для заданного значения x, а затем выполните с ней двоичный поиск
2. Возможно, я глуп, но разве это не просто среднее арифметическое из 4 x-координат, по крайней мере, для выпуклых фигур?
3. @schwobaseggl. Уверен, что это не так, если я сам не упускаю суть
4. @MadPhysicist Да, ты прав. Просто для некоторых тривиальных случаев… в целом все гораздо сложнее.
5. что вы подразумеваете под «n углами»?