Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal ABC

Войти
Регистрация
Восстановить пароль
 
Student1718
0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 2
#1

Определить дом, в котором нужно установить телефонную станцию - Pascal ABC

16.10.2017, 08:23. Просмотров 120. Ответов 12
Метки нет (Все метки)

Имеется дорога, пусть вдоль дороги стоят дома на одинаковом расстоянии А. В эти дома (не во все) нужно установить телефоны, от каждого выбранного дома до телефонной станции должен идти отдельный провод. В каком из домов нужно установить телефонную станцию, чтобы сумма проводов от всех выбранных домов была минимальна. Пересечь дорогу можно только в одном месте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2017, 08:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить дом, в котором нужно установить телефонную станцию (Pascal ABC):

Дом 10 этажей и 2 подъезда, на каждом этаже по 4 квартиры, создать нужно программу, что бы выводила № квартиры, этаж и подъезд. - Pascal ABC
Всем привет!!! Задача: Дом 10 этажей и 2 подъезда, на каждом этаже по 4 квартиры, создать нужно программу, что бы выводила № квартиры, этаж...

Вероятность количества звонков на телефонную станцию - Теория вероятностей
Телефонная станция обслуживает 2000 абонентов. Вероятность звонка на станцию в течении некоторого часа 0,001. Найти вероятность того, что в...

На телефонную станцию поступает в среднем 6 заявок - Теория вероятностей
1. На телефонную станцию поступает в среднем 6 заявок на переговоры в минуту. Поток заявок описывается распределением Пуассона. Рассчитать...

Предприятие имеет местную телефонную станцию на 20 номеров - C++
Здравствуйте,помогите пожалуйста написать программу в С++: Предприятие имеет местную телефонную станцию на 20 номеров. Телефонный...

Предприятие имеет местную телефонную станцию на 20 номеров - Turbo Pascal
Предприятие имеет местную телефонную станцию на 20 номеров. Телефонный справочник данного предприятия для каждого номера телефона содержит...

Нарисовать в рисунок: дом в котором едет крыша - Turbo Pascal
Нарисовать в Borland Pascal рисунок: дом в котром едет крыша.

12
Joy
Эксперт Pascal/Delphi
2060 / 1100 / 831
Регистрация: 29.08.2014
Сообщений: 4,011
16.10.2017, 08:56 #2
Цитата Сообщение от Student1718 Посмотреть сообщение
В эти дома (не во все)
входные данные приведите?
0
кот Бегемот
Платежеспособный зверь
8207 / 3778 / 691
Регистрация: 28.10.2009
Сообщений: 9,630
16.10.2017, 12:37 #3
Пусть имеется N домов: a[1], a[2]...a[N]. Если N нечётное, то станция будет в точке a[N div 2+1]. Если N чётное, то в любой точке от a[N div 2] до a[N div 2 +1]. Чтобы не заморачиваться, в обоих случаях a[N div 2 +1] будет ответом.
PS Не понял, какую дорогу надо пересекать и на фига?
1
Cyborg Drone
Модератор
4715 / 2882 / 1123
Регистрация: 17.08.2012
Сообщений: 9,181
19.10.2017, 15:20 #4
кот Бегемот, ??? Коряво написано, но я с первого раза понял.

Очевидно, дома стоят вдоль дороги по двум сторонам этой самой дороги, указано же, что дорогу зачем-то нужно пересекать.
Все провода со стороны дороги, противоположной той, где расположена АТС, должны пересекать дорогу одним пучком в одном месте.
Мало того, телефоны устанавливаются не во все дома.

Ваше решение не подходит.
0
кот Бегемот
Платежеспособный зверь
8207 / 3778 / 691
Регистрация: 28.10.2009
Сообщений: 9,630
19.10.2017, 15:40 #5
Интересно узнать, почему же моё решение не подходит. Нет никакой разницы со скольких сторон дороги стоят дома. Если всё так, как Вы утверждаете, провод пересечёт дорогу напротив станции. Остальное остается без изменений.
0
Cyborg Drone
Модератор
4715 / 2882 / 1123
Регистрация: 17.08.2012
Сообщений: 9,181
19.10.2017, 18:09 #6
Потому что телефоны устанавливаются не во всех домах, и, если даже дома располагаются по одну сторону дороги, Ваше решение не подходит.
0
кот Бегемот
Платежеспособный зверь
8207 / 3778 / 691
Регистрация: 28.10.2009
Сообщений: 9,630
19.10.2017, 18:36 #7
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Потому что телефоны устанавливаются не во всех домах, и, если даже дома располагаются по одну сторону дороги, Ваше решение не подходит.
Вы просто невнимательно смотрели программу. Объясню для не самых внимательных модеров.
Перепишем условие в следующем виде:
На числовой оси расставлены целые числа от 0 до бесконечности.
Возьмём некоторые из них, к примеру, 3, 22, 48,49,51
Вопрос: какое число из них надо взять, чтобы сумма модулей разностей между этим числом и всеми остальными была минимальна.
Ответ: 48, Сумма=45+26+1+3=75
Для чисел 3, 15,22,48,49,51 подходит как 22, так и 48.
Сумма в этом случае=19+7+26+27+29=108 или 45+33+26+1+3=108
PS
Числа можно расставлять как сверху, так и снизу числовой оси.
Надеюсь, я ясно объяснил?
0
Cyborg Drone
Модератор
4715 / 2882 / 1123
Регистрация: 17.08.2012
Сообщений: 9,181
19.10.2017, 19:29 #8
Каюсь, невнимательно прочёл. Вместо a[1]...a[n] в мозг засело почему-то 1...n. Вот и пошёл воевать.

Дополню, что для чётного количества домов с телефонами подходит любой дом c номером от a[n div 2] до a[n div 2 + 1], поскольку в задании не сказано, что АТС должно быть установлено в доме, в котором установлен телефон.
0
кот Бегемот
Платежеспособный зверь
8207 / 3778 / 691
Регистрация: 28.10.2009
Сообщений: 9,630
19.10.2017, 19:33 #9
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
что для чётного количества домов с телефонами подходит любой дом c номером от a[n div 2] до a[n div 2 + 1]
Да, там подходит любое число из этого интервала. Лет 10 назад эта задача попалась мне на глаза и удивила своим решением. Пока я чертёж не нарисовал, не поверил, что это так.
0
Cyborg Drone
Модератор
4715 / 2882 / 1123
Регистрация: 17.08.2012
Сообщений: 9,181
19.10.2017, 20:17 #10
Меня решение этой задачи меня поначалу тоже обескуражило.

Да, ещё вот что сейчас подумал... Если расстояние между соседними домами везде одинаковое, то есть, и между соседними домами на разных сторонах дороги тоже, то на переход через дорогу будет тратиться одно расстояние между домами, и в случае чётного количества телефонов станцию нужно устанавливать с той стороны дороги, где больше телефонов, а в случае нечётного, если модуль разности количеств телефонов на разных сторонах дороги больше 2, и дом номер a[n div 2 + 1] расположен на стороне дороги с меньшим количеством телефонов (вроде так получается), станцию нужно будет расположить в доме через дорогу от a[n div 2 + 1]. Это в случае если дома располагаются по квадратной сетке, а не по треугольной. В случае с треугольной сеткой ещё будет возникать вопрос, в какой из двух ближайших домов на противоположной стороне дороги нужно перенести станцию...
0
кот Бегемот
Платежеспособный зверь
8207 / 3778 / 691
Регистрация: 28.10.2009
Сообщений: 9,630
19.10.2017, 22:03 #11
Мне кажется, что Вы уже лезете в дебри. В условии говорится про одинаковое расстояние между домами вдоль дороги, то есть имеется ввиду числовая ось. Всё остальное от лукавого. И переход через дорогу в одном месте дан только для того, чтобы соблюсти чистоту сумм, то есть все провода должны идти вдоль дороги, а не наискосок к станции.
0
Cyborg Drone
Модератор
4715 / 2882 / 1123
Регистрация: 17.08.2012
Сообщений: 9,181
19.10.2017, 22:24 #12
Да, видимо, в дебри полез. Однако... Если всё так, как Вы говорите, получается, что на числовой оси есть точки, на которых расположено по два дома, так? Хотя... А ничего страшного. Хоть по n домов.
0
кот Бегемот
Платежеспособный зверь
8207 / 3778 / 691
Регистрация: 28.10.2009
Сообщений: 9,630
20.10.2017, 00:39 #13
Совершенно верно. Элементы массива могут иметь одинаковые значения.

PS
Если два одинаковых значения будут средними по номерам в массиве с чётным числом элементов, то станция однозначно попадёт в один из этих двух домов.
0
20.10.2017, 00:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2017, 00:39
Привет! Вот еще темы с ответами:

Самсунг е590 нужно скачать телефонную книгу - Смартфоны
Есть тлф самсунг е590 старенький и маленький, по современным меркам, ))) наверное пришло ему время замениться, временами начал...

Нужно собрать рабочую станцию для фото, видео студии - Рабочая станция
Нужно собрать станцию для фото-видео студии на процессоре AMD FX 6000 (или что-то из этой серии), видеокарта NVidia CUDA GTX 7 или 8...

Псевдографика , дом в котором при нажатии клавиши один 1 или 2 будет меняться цвет в окошке - Turbo Pascal
сделать дом в котором при нажатии клавиши будет меняться цвет в окошке

Нужно определить, есть ли в двумерном массиве столбец, в котором равное количество положительных и отрицательных элементов - C++
Нужно определить, есть ли в двумерном массиве столбец, в котором равное количество положительных и отрицательных элементов и вывести их...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru