Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 09.01.2025
Сообщений: 4

Египетские пирамиды

10.01.2025, 16:20. Показов 1819. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача B: Египетские пирамиды
Условие задачи (pdf)

Не только майя хотят строить пирамиды. Египтяне занимались этим до того, как это стало мэйнстримом.

У египтян была более сложная схема — им надоели пирамиды с квадратным или прямоугольным основанием. Поэтому теперь каждый уровень пирамиды — произвольный многоугольник. Если представить пустыню в виде координатной плоскости и спроецировать на песок вершины каждого такого многоугольника пирамиды, то получатся просто вложенные друг в друга многоугольники на координатной плоскости.

Вообразите себя астрономом, а в Древнем Египте им давали все попадающиеся под руку задачи. По координатам проекций для каждого уровня определите, сколько уровней находится строго под ним.

Гарантируется, что для любых двух многоугольников один вложен в другой. Также никакие два многоугольника не пересекаются по периметру.

Формат входных данных
Первая строка входного файла содержит целое число
— количество многоугольников,
. Следующие
строк описывают
уровней-многоугольников.
–ая строка файла описывает
–ый многоугольник. Первое целое число
— количество вершин многоугольника,
. Последующие
пар чисел — координаты вершин многоугольника в порядке его обхода. Координаты вершин — целые числа, принадлежащие диапазону от
до
.

Формат результата
Выведите единственную строку —
-ое число в ней должно быть равно числу уровней строго под
-м.

Примеры
Входные данные
3
3 -2 1 8 9 12 1
3 7 5 6 3 7 4
4 4 3 7 7 9 3 1 2
Результат работы
0 2 1
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.01.2025, 16:20
Ответы с готовыми решениями:

Вычислить: высоту пирамиды; объем пирамиды; площадь ее полной поверхности
Дана правильная пирамида, в основании которой лежит правильный пятиугольник со стороной a. Все боковые ребра пирамиды равны b. Вычислить:...

По заданным вершинам найти объем пирамиды
Дана задача: Даны 5 точек в трехмерном пространстве, которые являются вершинами пирамиды. Рассчитать объем пирамиды.

Циклической вывод пирамиды
Вот код но его нужно сократить применив цикл фор но как не могу понять помогите print(31 * ' ', str(self.deck1.cards),'...

3
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
10.01.2025, 18:50
Цитата Сообщение от Rusich22 Посмотреть сообщение
Следующие
строк описывают
уровней-многоугольников.
–ая строка файла описывает
–ый многоугольник. Первое целое число
— количество вершин многоугольника,
. Последующие
пар чисел — координаты вершин многоугольника в порядке его обхода. Координаты вершин — целые числа, принадлежащие диапазону от
до
.
- это на каком языке написано?
2
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
10.01.2025, 22:34
Очевидно, что нулевому уровню будет соответствовать самый большой по площади прямоугольник, следующему - поменьше, и т.д.
Т.е. предлагаю создать функцию вычисления площади полигона по координатам, используя
https://ru.m.wikipedia.org/wik... 1%81%D0%B0
Дальше останется только отсортировать полигоны, используя в качестве ключа эту функцию.

Добавлено через 2 часа 49 минут
Если ничего не напутал:
Python
1
2
3
4
5
6
7
8
9
10
11
12
def area(coords):
    coords+=coords[0:2] # Periodic boundary
    a1=sum(i*j for i,j in zip(coords[::2],coords[3::2]))
    a2=sum(i*j for i,j in zip(coords[1::2],coords[2::2]))
    return(abs(a1-a2)) # 2*area
poly_area=[]
n=int(input())
for i in range(n):
    k, *coords=map(int, input().split())
    poly_area.append((area(coords), i))
result=[i[1]  for i in sorted(poly_area, reverse=True)]
print(' '.join(map(str,result)))
0
964 / 485 / 241
Регистрация: 02.06.2016
Сообщений: 760
13.01.2025, 14:44
Цитата Сообщение от u235 Посмотреть сообщение
Очевидно, что нулевому уровню будет соответствовать самый большой по площади прямоугольник
где-то видел эту задачу, там ограничение на модуль координат было 2·109, соответственно, максимальная площадь 16·1018, что укладывается в 64 бита (usingned long long если на c++ писать), но т.к. некоторые площади могут быть полуцелыми, то для "удобного" хранения нужно 65 бит.. и автор предлагал вместо площадей выбрать наименьшую абсциссу от каждого моногоугольника и сортировать по ним, мол, "не пересекаются по периметру" отсекает случаи касания и прочего интересного..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2025, 14:44
Помогаю со студенческими работами здесь

Вывод пирамиды заданной высоты из символов «*»
Выведите пирамиду из символов «*» заданной высоты. Формат ввода Одно целое число — высота пирамиды. Формат вывода Пирамида в...

Найти грань и объем пирамиды в трехмерном пространстве
Задача найти площадь грани АВС и объем пирамиды НА ВСЕ), вершины которой содержатся в точках: А(2; -2; 0), В {5; 3; 2), С(-3; -2; 0),...

Египетские знаки
Прошлым летом школьник Вася побывал в Египте. И лишь сейчас он вспомнил, что во время своей поездки он успел сфотографировать много...

Египетские дроби
египетские дроби надо раписать. Помогите пож.-та

Найти отношение объемов частей пирамиды, полученных сечением пирамиды плоскостью
В правильной четырехугольной пирамиде PABCD с вершиной P проведено сечение через сторону AB и середину PC. В каком отношении сечение делит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru