Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Student1718
0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 2
#1

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

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

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

Определить дом, в котором нужно установить телефонную станцию
Здравствуйте, имеется задача: Имеется дорога, пусть вдоль дороги стоят дома на...

Нужно нарисовать дом с движущимся солнцем
Нарисуйте домик, над которым светит солнышко. Солнышко движется по небу.

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

На телефонную станцию поступает в среднем 6 заявок
1. На телефонную станцию поступает в среднем 6 заявок на переговоры в минуту....

Вероятность количества звонков на телефонную станцию
Телефонная станция обслуживает 2000 абонентов. Вероятность звонка на станцию в...

Предприятие имеет местную телефонную станцию на 20 номеров
Предприятие имеет местную телефонную станцию на 20 номеров. Телефонный...

12
Joy
Эксперт Pascal/Delphi
2119 / 1159 / 1418
Регистрация: 29.08.2014
Сообщений: 4,222
16.10.2017, 08:56 #2
Цитата Сообщение от Student1718 Посмотреть сообщение
В эти дома (не во все)
входные данные приведите?
0
кот Бегемот
Платежеспособный зверь
8447 / 3886 / 1511
Регистрация: 28.10.2009
Сообщений: 10,062
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
Модератор
5251 / 3118 / 2432
Регистрация: 17.08.2012
Сообщений: 10,072
19.10.2017, 15:20 #4
кот Бегемот, ??? Коряво написано, но я с первого раза понял.

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

Ваше решение не подходит.
0
кот Бегемот
Платежеспособный зверь
8447 / 3886 / 1511
Регистрация: 28.10.2009
Сообщений: 10,062
19.10.2017, 15:40 #5
Интересно узнать, почему же моё решение не подходит. Нет никакой разницы со скольких сторон дороги стоят дома. Если всё так, как Вы утверждаете, провод пересечёт дорогу напротив станции. Остальное остается без изменений.
0
Cyborg Drone
Модератор
5251 / 3118 / 2432
Регистрация: 17.08.2012
Сообщений: 10,072
19.10.2017, 18:09 #6
Потому что телефоны устанавливаются не во всех домах, и, если даже дома располагаются по одну сторону дороги, Ваше решение не подходит.
0
кот Бегемот
Платежеспособный зверь
8447 / 3886 / 1511
Регистрация: 28.10.2009
Сообщений: 10,062
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
Модератор
5251 / 3118 / 2432
Регистрация: 17.08.2012
Сообщений: 10,072
19.10.2017, 19:29 #8
Каюсь, невнимательно прочёл. Вместо a[1]...a[n] в мозг засело почему-то 1...n. Вот и пошёл воевать.

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

Да, ещё вот что сейчас подумал... Если расстояние между соседними домами везде одинаковое, то есть, и между соседними домами на разных сторонах дороги тоже, то на переход через дорогу будет тратиться одно расстояние между домами, и в случае чётного количества телефонов станцию нужно устанавливать с той стороны дороги, где больше телефонов, а в случае нечётного, если модуль разности количеств телефонов на разных сторонах дороги больше 2, и дом номер a[n div 2 + 1] расположен на стороне дороги с меньшим количеством телефонов (вроде так получается), станцию нужно будет расположить в доме через дорогу от a[n div 2 + 1]. Это в случае если дома располагаются по квадратной сетке, а не по треугольной. В случае с треугольной сеткой ещё будет возникать вопрос, в какой из двух ближайших домов на противоположной стороне дороги нужно перенести станцию...
0
кот Бегемот
Платежеспособный зверь
8447 / 3886 / 1511
Регистрация: 28.10.2009
Сообщений: 10,062
19.10.2017, 22:03 #11
Мне кажется, что Вы уже лезете в дебри. В условии говорится про одинаковое расстояние между домами вдоль дороги, то есть имеется ввиду числовая ось. Всё остальное от лукавого. И переход через дорогу в одном месте дан только для того, чтобы соблюсти чистоту сумм, то есть все провода должны идти вдоль дороги, а не наискосок к станции.
0
Cyborg Drone
Модератор
5251 / 3118 / 2432
Регистрация: 17.08.2012
Сообщений: 10,072
19.10.2017, 22:24 #12
Да, видимо, в дебри полез. Однако... Если всё так, как Вы говорите, получается, что на числовой оси есть точки, на которых расположено по два дома, так? Хотя... А ничего страшного. Хоть по n домов.
0
кот Бегемот
Платежеспособный зверь
8447 / 3886 / 1511
Регистрация: 28.10.2009
Сообщений: 10,062
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
Привет! Вот еще темы с решениями:

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

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

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

Нужно собрать рабочую станцию для фото, видео студии
Нужно собрать станцию для фото-видео студии на процессоре AMD FX 6000 (или...


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

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

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