A. Патрик и поход в магазин ограничение по времени ** тест1 секунда ограничение по памяти...

0 голосов
130 просмотров

A. Патрик и поход в магазин
ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Сегодня Патрик ждёт в гости своего друга Спанч Боба. Чтобы подготовиться к встрече, Патрику необходимо посетить два магазина, расположенных рядом с его домом. От дома до первого магазина ведёт дорожка длины d1 метров, а до второго магазина ведёт дорожка длины d2 метров. Также существует дорожка, непосредственно соединяющая два магазина друг с другом, длиной d3 метров. Помогите Патрику вычислить минимальное расстояние, которое ему потребуется пройти, чтобы посетить оба магазина и вернуться домой.


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

Входные данные
В первой строке входных данных находятся три целых числа d1, d2, d3 (1 ≤ d1, d2, d3 ≤ 108) — длины дорожек.

d1 — длина дорожки, соединяющей дом Патрика и первый магазин;
d2 — длина дорожки, соединяющей дом Патрика и второй магазин;
d3 — длина дорожки, соединяющей два магазина.
Выходные данные
Выведите минимальное количество метров, которое придётся пройти Патрику, чтобы посетить оба магазина и вернуться домой.

Примеры тестов
входные данные
10 20 30
выходные данные
60
входные данные
1 1 5
выходные данные
4
Примечание
Первый пример изображён на рисунке в условии задачи. Одним из оптимальных маршрутов является: дом первый магазин второй магазин дом.

Во втором примере одним из оптимальных маршрутов является: дом первый магазин дом второй магазин дом.

ПОМОГИТЕ С ЗАДАЧОЙ ВРОДЕ ЛЕГКАЯ НЕТУ ИДЕЙ ПАЖАЛУЙСТА?


Информатика (81 баллов) | 130 просмотров
Дан 1 ответ
0 голосов

Var d1, d2, d3,s: integer; begin s:=d1+d2+d3; if (2*(d1+d3)

(336 баллов)
0

var d1, d2, d3,s: integer;
begin
s:=d1+d2+d3;
if (2*(d1+d3)if (2*(d2+d3)write(s);
end.

0

if (2*(d1+d3)?

0

криво вставляется

0

можеш зановово написать

0
0

у тебя неправильно при 1 1 5 ответ 4 у тебя 7

0

Да, вы правы, я не учел, что может домой вернутся и пойти в следущий магазин
http://pastebin.com/d2u5yTTt

0

спасибо большое вам ! можете сказать как вы решили или идею ?

0

Есть 4 варианта его пути: дом-1-2-дом, дом-1-2-1-дом, дом-2-1-2-дом, дом-1-дом-2-дом. Перебираем все эти варианты и находим минимальное значение

0

можете памочь еще с одной задачой прошу http://pastebin.com/Eyb1XtxS