Имя: Пароль:
IT
 
Почти МКАД
0 Ненавижу 1С
 
гуру
03.07.12
16:22
Есть кольцевая дорога длиной 100 км, на которой произвольным образом разбросано конечное число бочек с горючим. Суммарное количество горючего в бочках 100 л, но распределение горючего по бочкам произвольно. Есть автомобиль с расходом топлива 1 л/км и пустым баком вместимостью >100 л. Можно ли объехать всю дорогу в каком либо направлении?

Перед поездкой ваш автомобиль (с пустым баком) по вашему желанию доставят к любой из бочек
1 andrewks
 
03.07.12
16:25
в общем случае, нет
2 Eugene_life
 
03.07.12
16:26
(0) возможно, но только в одну сторону
3 Ненавижу 1С
 
гуру
03.07.12
16:27
(1)(2) мнения разделились
да, сторону объезда вы вольны выбирать сами
4 Eugene_life
 
03.07.12
16:27
(2) + если есть возможность смотреть карту, где какая бочка + количество в ней горючего
5 Базис
 
naïve
03.07.12
16:28
(2) +1. Бак достаточно иметь 100-литровый, всё равно больше 100 л топлива оказаться там не может.
6 miki
 
03.07.12
16:30
если только ходить до бочки с канистрой, если не доехал.
Иначе +1 к (1).
7 eromanov
 
03.07.12
16:32
Низя, пустой бак как до бочки то доехать...
8 eromanov
 
03.07.12
16:33
блин лохонулся)
9 y88
 
03.07.12
16:33
(2)+1
10 andrewks
 
03.07.12
16:33
(2) ответ зависит от начального выбора водителя. если он будет исходить из того, что ему обязательно НАДО проехать полный круг, и он выберет оптимальную начальную точку при известной дислокации запасов горючего (местоположение бочек и объём находящегося в них горючего), то да, а если он просто говорит - доставьте меня вот к этой (произвольной) бочке, то может и не хватить топлива
11 andrewks
 
03.07.12
16:34
(10)  -> (3)
12 andrewks
 
03.07.12
16:35
но, поскольку условие оптимальности выбора начальной точки водителем в (0) не заявлено, то (1)
13 Fenrik
 
03.07.12
16:37
Объехать можно, доказательство наглядное. Каждую бочку представим как дугу (часть окружности), длиной в столько км, на сколько хватит в ней горючего. Сама бочка изначально на любом конце дуги. Получается, если автомобиль стартует с конца дуги, то может проехать ее всю. Если дуги пересекаются, можно их раздвинуть, чтобы они стали только соприкасаться. Ну а в сумме дуги полностью покроют всю дорогу.
14 andrewks
 
03.07.12
16:38
(13) прикинь, портнули тебя к бочке №37, а там внутри пусто
15 Fenrik
 
03.07.12
16:39
(14) Я сам выбираю откуда стартовать.
16 miki
 
03.07.12
16:39
(13)>>Каждую бочку представим как дугу (часть окружности), длиной в столько км, на сколько хватит в ней горючего
Нет такого в условии. А если поставить дальше?

Если в первой бочке бензина меньше, чем надо доехать до любой следующей, то полюбому толкать придется. Также как если расстояние до третьей минус больше чем было топлива в первых двух минус расстояние между первой и второй. И т.д.
17 andrewks
 
03.07.12
16:39
(15) ну хорошо, вот тебе 100 бочек. выбирая. какую выбираешь?
18 evorle145
 
03.07.12
16:39
Допустим что 50 литров расположено в начале и 50 литров в конце, тогда какую точку старта ни выбирай, все равно не доедешь. (10), то есть от оптимальности выбора начальной точки зависит не все
19 miki
 
03.07.12
16:39
(15)а бочки-то стоЯт не так, как тебе хочется....
20 andrewks
 
03.07.12
16:40
(18) оптимальность выбора начальной точки и сразу же - выбор направления движения
21 Fenrik
 
03.07.12
16:41
(16)(17) Перебором найду бочку, от которой дуга протянется по всей окружности. Минимум одна такая будет.
22 evorle145
 
03.07.12
16:41
(20), если бочки будут расположены как я написал, то никак не доедешь.
23 butterbean
 
03.07.12
16:41
(18) это же круг
24 andrewks
 
03.07.12
16:42
(22) "Есть >>> кольцевая <<< дорога"
25 Ненавижу 1С
 
гуру
03.07.12
16:42
перед выбором места старта и направления объем каждой бочки известен водителю, водитель не идиот, он реально хочет проехать круг
26 evorle145
 
03.07.12
16:43
(24), как чувствовал, что чего-то упустил=)
27 Ненавижу 1С
 
гуру
03.07.12
16:43
(13) ты не учел, что раздвигать можно только в одну сторону (по движению)
28 Fenrik
 
03.07.12
16:45
(27) А это важно? Главное, что после всех "раздвиганий" дуги полностью покроют всю дорогу.
29 Serg_1960
 
03.07.12
16:46
Доставьте меня с автомобилем к бочке, в которой больше всего горючего - и я проеду полный круг :)
30 Ненавижу 1С
 
гуру
03.07.12
16:46
(28) уговорил
31 Ненавижу 1С
 
гуру
03.07.12
16:47
(29) врешь, я поставлю тебя с бочкой 40 литров, две бочки по 30 литров ждут тебя недалеко от противоположной точки))
32 andrewks
 
03.07.12
16:49
(25) тогда в чём соль?
33 Ненавижу 1С
 
гуру
03.07.12
16:50
(32) и сахар ))
34 Ненавижу 1С
 
гуру
03.07.12
16:51
(32) соль, например, в том, что стратегия (29) не рабочая
35 andrewks
 
03.07.12
16:51
(33) а, ты хочешь сказать, что в одной из бочек с топливом подмешан сахар? :)
36 andrewks
 
03.07.12
16:52
(34) а при чём здесь стратегия? с учётом (25) никакой интриги не остаётся
37 Ненавижу 1С
 
гуру
03.07.12
16:54
38 Serg_1960
 
03.07.12
16:55
(31) Хех. Тогда давай заранее бочки раставляй, называй где сколько горючего. А я тебе скажу точку откуда я начну, чтобы проехать полный круг.
39 Serg_1960
 
03.07.12
16:56
Не важно как бочки раставленны и сколько в них горючего - знаю эту информацию - всегда можно проехать полный круг.
40 miki
 
03.07.12
16:57
(32)+1
?
41 Бледно Золотистый
 
03.07.12
17:00
Тут другой вопрос назревает, как выбрать 1-ю бочку и направление движения?
42 anddro
 
03.07.12
17:01
Может проще с другой стороны: как расставить N бочек, чтобы не было ни одного маршрута из 2*N (каждый состоит из N-1 отрезков), где сумма с накоплением для каждого отрезка >= 0.
имхо (2)+1
43 Fenrik
 
03.07.12
17:05
Направление, кстати, неважно. Всегда можно объехать дорогу в любом направлении.
44 anddro
 
03.07.12
17:07
(43) но оно зависит от стартовой позиции
45 Fenrik
 
03.07.12
17:08
(44) Наоборот, стартовая позиция зависит от выбранного направления.
46 Nikulin
 
03.07.12
17:09
Как можно НЕ доехать я НЕ придумал.
Соответственно вывод что:
МОЖНО.
47 Serg_1960
 
03.07.12
17:18
(45) +1 согласен. Выбор направления определяет начальную точку (или подмножество точек). Если наобороть поступить (начальная точка - первично, а направление - вторично), то можно и не доехать :)
48 anddro
 
03.07.12
17:20
(45)(47) стартовая позиция + направление = маршрут. Всегда ли число возможных маршрутов четное?
Фиксация направления, это просто сокращение количества проверяемых маршрутов на 2.
49 sda553
 
03.07.12
17:23
203.55
209.84

Приведем сначала задачу к дискретному случаю, а именно: разобьем кольцо на N маленьких РАВНЫХ отрезочков, где N очень большое.
Считаем при этом, что бочка может стоять только на конце отрезка.
Тогда последовательности А(1)...А(N) соответствуют точки-концы отрезков и A(k)=0 означает, что в этой точке нет бочки, либо А(к)=объем бочки в точке k. По условию Сумма(А(1)...А(N))=100 Разомкнем кольцо следующим образом, добавим в последовательность члены A(N+1)=A1, А(N+2)=A(2)....A(2*N)=AN
Очевидно, что Сумма(А(1)...А(2N))=200

Тогда условие недоезжания машинки при определенной расстановке бочек сводится к следующему:
Существует такая последовательность А(1)...А(2*N), где все члены положительны и Сумма(А1...АN)=100, что для любого k от 1 до N (точка выбираемая водителем для старта) Существует такое m (длина на которой заглохнет), что
Сумма(А(к),А(к+1),....А(к+m))<[100/N]*m что означает русским языком что какую бы точку не выбрал водитель, чтобы стартовать, всегда существует такой отрезок, что сумма всех бочек на этом отрезке меньше чем бензин необходимый для проезжания этого отрезка.

Допустим такая расстановка бочек существует, возьмем к=1, тогда существует m1, что
Сумма(А(1)...А(m1))<[100/N]*m1
Возьмем теперь k=m1+1, тогда опять существует такое m2, что
Сумма(А(m1+1)...А(m1+m2))<[100/N]*m2

Продолжаем эти суммы пока не дойдем до точки A(2N), теперь сложим у всех неравенств левые и правые части, получим
Сумма(А(1)....А(m1),A(m1+1)....A(m1+m2).....A(2N))<[100/N](m1+m2+....)
В левой части у нас просто сумма всей последовательности, которая равна 200
в правой части имеем m1+m2+....=2N=200
Отсюда имеем 200<200 что неправильно. А значит такая расстановка невозможна.

Значит при любой расстановке бочек всегда можно подобрать такой старт что Сумма бочек по пути будет всегда больше пройденного расстояния.
50 GreyK
 
03.07.12
17:24
Можно в любую сторону.
51 sda553
 
03.07.12
17:27
(49) Забыл сказать, уменьшением отрезка и увеличением N до бесконечности задача сводится к недискретному случаю.

Следствие: Т.к. не существует последовательности бочек которую нельзя проехать то переставляя бочки наоборот в обратном порядке, мы такую последовательность не получим. А значит МКАД можно проехать в любую сторону, как по часовой так и против
52 Базис
 
naïve
03.07.12
17:31
(51) А вот тут мы вас поправим.

1-й км, бочка 1 л.

3-й км, бочка 99 л.
53 fedoss
 
03.07.12
17:36
(52) Проезжается от бочки 99л в любую сторону
54 Hawk_1c
 
03.07.12
17:37
Выбирая первую бочку.. Заведомо все проедешь. Если не ошибешься в выборе бочки. :)
55 Classic
 
03.07.12
17:37
Можно, в любую сторону
56 Базис
 
naïve
03.07.12
17:39
(53) Я возражал утверждению "можно проехать в любую сторону". Подразумевая "с той же исходной бочки", что было моим домыслом.

Короче - проще заработать на полный бак, чем сидеть над этой задачей.
57 sda553
 
03.07.12
17:41
(56) Своих домыслов не надо
58 Classic
 
03.07.12
17:42
+(55)
Это настолько очевидно, что даже влом доказывать.
Доказательство "от обратного" потребует совсем мало времени
59 GANR
 
03.07.12
19:22
Можно в любую сторону.