|
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
|
|
На сколько частей делят плоскость прямые26.04.2014, 18:22. Показов 17848. Ответов 36
Метки нет (Все метки)
Здравствуйте форумчане. Задали задачку, идеи есть, но проблема с реализацией. Помогите решить пожалуйста, если не трудно. Условие:
Даны N точек на плоскости. Проведем прямые через каждую пару точек. На сколько частей ненулевой площади эти прямые делят плоскость? Формат входных данных: В первой строке входного файла задано число N - количество точек (2 <= N <= 10). Следующие N строк содержат по два числа X[i] Y[i] - каждая через пробел, координаты i-ой точки (-100 <= X[i], Y[i] <= 100). Никакие две точки не совпадают, никакие три не лежат на одной прямой. Все числа во входном файле целые. Формат выходных данных: В первой строке выходного файла выведите P - количество частей, на которые полученные прямые делят плоскость. Пример: Ввод: 4 0 0 0 1 1 0 1 1 Вывод: 16
0
|
|
| 26.04.2014, 18:22 | |
|
Ответы с готовыми решениями:
36
На сколько на сколько частей делят треугольник... На сколько частей делится плоскость?
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 30.04.2014, 20:56 | |
|
0
|
|
|
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
|
|
| 30.04.2014, 20:57 [ТС] | |
|
Ничего страшного
буду очень благодарен, если будет какой-то прогресс в решении этой задачки
0
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||
| 01.05.2014, 00:21 | ||
|
считаем количество пересечений таким способом если две линии то пересечение 1 если 3 линии то пересечений 2 а если 4 линии то 3 т.е количество пересечений(ну или по другому обозвать) в одной точке, равно количеству линий проходящих через точку-1 тогда 1+6(линии)+1+2+2+2+2(пересечения)=16 это даже можно обосновать так что пресечение это "зарубка" которую оставляет другая линия,т.е две пересекающие третью,оставят на третьей 2 "зарубки" и не важно совпадают ли их координаты или нет но это нужно проверять, я опять же по твоему чертежу вывел Добавлено через 23 минуты алгоритм вижу примерно так для простоты три линии пресекаются в одной точке 6 плоскостей считаем пресечения у первой линии пересекает вторую Л1++ Л2-- пересекает третью Л1++ Л3-- считаем вторую пересекает первую Л2++ Л1--, её уже считали, пересекает третью Л2++ Л3-- третью как последнюю пропускаем итого имеем Л1=1 Л2=1 Л3=-2 здесь два пути или складываем Л1+Л2=2 или берем модуль от Л3=2, сколько линий её пересекло и складываем 1 +3(количество линий) +2 (количество пересечений)=6 но это так, мысли вслух, придется конечно еще доработать
1
|
||
|
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
|
|||||||||||
| 01.05.2014, 01:41 [ТС] | |||||||||||
|
ValeryS, оо очень хорошо объяснили. Спасибо большое) Это именно то, что хотел узнать (получить).
Добавлено через 24 минуты Примерные наброски. Не судите строго по объявлению массива и по написанию кода, знаю, что надо создать динамический массив для экономии памяти, но пока еще не привык.
0
|
|||||||||||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
| 09.05.2014, 06:53 | ||||||
1
|
||||||
|
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
|
|
| 12.05.2014, 03:42 [ТС] | |
|
Вообще не компилируется, много ошибок выдает((
Добавлено через 5 минут http://sc.uploads.ru/JjuIc.jpg - вот ссылка на скрин всех ошибок, которые появляются при попытке компилирования.
0
|
|
|
30 / 24 / 27
Регистрация: 06.05.2014
Сообщений: 161
|
|
| 12.05.2014, 03:50 | |
|
Mr.X, скажите пожалуйста, а откуда и для чего такое странное форматирование кода?
0
|
|
|
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
|
|
| 12.05.2014, 03:53 [ТС] | |
|
tegauss, вот я тоже удивился. Но он во всех темах отвечал такими страшными кодами, просмотри))
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|||
| 12.05.2014, 10:58 | |||
|
Добавлено через 3 минуты
0
|
|||
|
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
|
|
| 12.05.2014, 14:32 [ТС] | |
|
Codeblocks 12.11
Компилятор MinGW.
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 12.05.2014, 20:54 | |
|
0
|
|
|
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
|
|
| 12.05.2014, 23:09 [ТС] | |
|
извините, а в visual studio как пишется freopen ? подскажите в какой строке мне ее подставить?
Имя входного файла: parts.in Имя выходного файла: parts.out
0
|
|
|
|
|
| 13.05.2014, 13:08 | |
|
Теорему Эйлера о планарных графах так никто и не вспомнил. Пересечение двух прямых дает вершину графа. В общем случае степень этой вершины 4, но может быть и 6, если в данной точке пересекаются сразу три прямых, 8 для четырех прямых и т. д. Нужно перебрать все пары прямых и вычислить все точки пересечения - вершины. После чего нетрудно подсчитать степени всех вершин по совпадению координат, число отрезков, а затем по формуле Эйлера число граней.
2
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
|||
| 14.05.2014, 00:54 | |||
![]() серьезно, не знал об этой формуле на коленке придумал а как по той формуле рассчитать если прямые параллельны?
0
|
|||
|
2892 / 1927 / 208
Регистрация: 05.06.2011
Сообщений: 5,648
|
||
| 14.05.2014, 06:21 | ||
|
Да, ещё одну тонкость не заметил сразу: нужно будет добавить к изначально имеющемуся множеству точек дополнительные точки пересечения прямых. Это, конечно, усложняет расчёты, но без этого, подозреваю, в любом случае не обойтись. Добавлено через 6 минут Хм. Ещё подумал. А получится? Берём три точки не на одной прямой. Частей получится 7. Формула Эйлера для треугольника даст 1 часть — внутреннюю. Разбиения внешней части она не даст, поскольку ребро — это отрезок кривой. В принципе, можно нарисовать вокруг всех наших точек достаточно большую окружность (чтоб туда поместились не только изначальные точки, но и точки дополнительных пересечений) и добавить точки пересечения прямых с оной. Как-то так.
0
|
||
|
|
|
| 14.05.2014, 10:25 | |
|
iifat, ну так, теорема сначала доказывалась для многогранников, даже в школьном Атанасяне она излагается. То есть, другими словами, для графов, расположенных на сфере. А для случая плоскости, везде оговаривается, что учитывается внешняя часть чертежа, которая тоже считается гранью.
1
|
|
|
2892 / 1927 / 208
Регистрация: 05.06.2011
Сообщений: 5,648
|
|
| 14.05.2014, 13:24 | |
|
А, точно, сам поленился формулу посмотреть.
Пожалуй, такой вариант тоже пойдёт — спроектировать на сферу, добавить вершину в бесконечной точке и счтать по Эйлеру.
0
|
|
| 14.05.2014, 13:24 | |
|
Помогаю со студенческими работами здесь
37
Построить плоскость, проходящую через прямые На сколько частей и как нужно разделить отрезок, чтобы произведение длин частей было максимальным Изобразить все используемые в задании объекты (прямые, плоскость, нормаль к плоскости) Вычислить, на какое наибольшее количество частей могут разбить плоскость N окружностей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|