|
3 / 3 / 0
Регистрация: 10.11.2011
Сообщений: 126
|
|
На сколько частей делят плоскость прямые26.04.2014, 18:22. Показов 18194. Ответов 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
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||
| 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
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||
| 14.05.2014, 00:54 | |||
![]() серьезно, не знал об этой формуле на коленке придумал а как по той формуле рассчитать если прямые параллельны?
0
|
|||
|
2918 / 1948 / 214
Регистрация: 05.06.2011
Сообщений: 5,767
|
||
| 14.05.2014, 06:21 | ||
|
Да, ещё одну тонкость не заметил сразу: нужно будет добавить к изначально имеющемуся множеству точек дополнительные точки пересечения прямых. Это, конечно, усложняет расчёты, но без этого, подозреваю, в любом случае не обойтись. Добавлено через 6 минут Хм. Ещё подумал. А получится? Берём три точки не на одной прямой. Частей получится 7. Формула Эйлера для треугольника даст 1 часть — внутреннюю. Разбиения внешней части она не даст, поскольку ребро — это отрезок кривой. В принципе, можно нарисовать вокруг всех наших точек достаточно большую окружность (чтоб туда поместились не только изначальные точки, но и точки дополнительных пересечений) и добавить точки пересечения прямых с оной. Как-то так.
0
|
||
|
|
|
| 14.05.2014, 10:25 | |
|
iifat, ну так, теорема сначала доказывалась для многогранников, даже в школьном Атанасяне она излагается. То есть, другими словами, для графов, расположенных на сфере. А для случая плоскости, везде оговаривается, что учитывается внешняя часть чертежа, которая тоже считается гранью.
1
|
|
|
2918 / 1948 / 214
Регистрация: 05.06.2011
Сообщений: 5,767
|
|
| 14.05.2014, 13:24 | |
|
А, точно, сам поленился формулу посмотреть.
Пожалуй, такой вариант тоже пойдёт — спроектировать на сферу, добавить вершину в бесконечной точке и счтать по Эйлеру.
0
|
|
| 14.05.2014, 13:24 | |
|
Построить плоскость, проходящую через прямые На сколько частей и как нужно разделить отрезок, чтобы произведение длин частей было максимальным Изобразить все используемые в задании объекты (прямые, плоскость, нормаль к плоскости) Вычислить, на какое наибольшее количество частей могут разбить плоскость N окружностей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|