Имя: Пароль:
IT
 
Хамелеоны на острове
,
0 Ненавижу 1С
 
гуру
30.10.18
21:09
На острове есть хамелеоны трёх цветов: 40 красных, 50 жёлтых и 60 зеленых.
Когда два хамелеона разных цветов встречаются, то они перекрашиваются в третий цвет.
Три хамелеона не встречаются никогда. Других перекрашиваний нет. Не размножаются временно.
Могут ли все стать одного цвета?
1 Zamestas
 
30.10.18
21:17
(0) Нет.
2 ДНН
 
30.10.18
21:26
(1) А решение?
3 RomanYS
 
30.10.18
23:47
(2) обозначим f=(1*r+2*y+3*b)%3=(1*r+2*y)%3
f сохраняется при указанных преобразованиях, и не равна 0, что требуется для конечного состояния.
4 Пробел
 
31.10.18
04:49
нет, количество хамелеонов не равно между собой. Останется либо 10 желтых, либо 20 зеленых, либо 10 зеленых либо смешение хамелеонов разных цветов.
5 Пробел
 
31.10.18
04:51
(3) что такое f, r, y, b? % - это остаток от деления?
6 vcv
 
31.10.18
05:35
Предполагаем, что хамелеоны не могут стать одного цвета.
40 красных пошли на речку купаться, встретили 40 желтых и все они стали зелёными. 10 желтых, оставшихся готовить дома обед, отправили пять своих искать остальных. Эти пятеро встретили пять зелёных (бывших желтых) хамелеонов и стали красными. Когда-же эти пять красных хамелеонов пришли домой и столкнулись с оставшимися дома желтыми хамелеонами, все они стали зелёными.
На острове остались только зелёные хамелеоны.
Исходное предположение опровергнуто, хамелеоны могут стать одного цвета.
7 Convert
 
31.10.18
06:16
(6) А куда еще 5 красных дел???
8 Случайный прохожий
 
31.10.18
06:30
(6) Что-то у тебя там не сходится :)
9 Convert
 
31.10.18
07:05
(0) Короче, не могут стать они одного цвета
10 Случайный прохожий
 
31.10.18
07:25
(9) Хорошее доказательство! Ну ладно, воспримем как аксиому :)
11 Cyberhawk
 
31.10.18
07:28
Надо, чтоб кто-нибудь написал код на 1Сс графическим изображением блужданий этих хамелеонов.
Можно штуки в виде раскрашенных строк динамического списка / ТЗ сделать.
И чтоб оно само там долбилось.
12 Convert
 
31.10.18
07:29
(10) Если я выложу доказательство, то будет скучно, никто уже не будет хамелеонов на речку отправлять и обед готовить))
13 Zmich
 
31.10.18
07:29
Так выложено же доказательство в (3), о чем разговор?
14 Convert
 
31.10.18
07:30
(13) И сколько человек его поймет?
15 Случайный прохожий
 
31.10.18
07:33
(13) С инета формулу и я могу выложить. В той формуле о синих хамелеонах сказано, а у нас в задаче - зеленые. Значит данное решение нам не подходит :)
16 Convert
 
31.10.18
07:43
(15) У меня, кстати, не такое доказательство получилось...
17 Автосервис
 
31.10.18
07:58
(16) Поделишься?
18 Convert
 
31.10.18
08:00
(17)
Будем считать, что перекрашивание происходит по очереди, т.е. встречаются хамелеоны только 1 на 1 (если встречаются 5, то считаем, что прошли 5 встреч по очереди и это будет 5 перекрашиваний)
Возьмем и посмотрим остаток от деления на 3 от количества хамелеонов каждого цвета на начальном этапе.
Красных - 1, желтых - 2, красных -0.
(1,2,0)....теперь посмотрим как меняется остаток от деления при первом преобразовании. И получается, что при встрече любых разных цветов за одну встречу остаток от деления на 3 будет (0,1,2), при следующей встрече любых разных цветов получим остатки от деления на 3 (2,0,1),  проведем еще одну встречу и получим остатки от деления на 3 (1,2,0). Получается зацикливание. Значит при любых встречах у нас остатки от деления на 3 количества хамелеонов каждого цвета должны быть либо (1,2,0) либо (0,1,2) либо (2,0,1).
А если допустить, что удалось каким-то образом сделать так, чтобы все хамелеоны оказались одного цвета, то остатки от деления на 3 (0,0,0)...противоречие....значить предположение не верно
19 Zmich
 
31.10.18
08:04
(14). Ну а что там непонятного? Составляется для r красных, y желтых, g зеленых выражение
f=(r+2y+3g)%3. Оно не изменится, какие бы хамелеоны не встретились.

Красный+желтый = 2 зеленых:
((r-1)+2(y-1)+3(g+2))%3 = (r+2y+3g+3)%3 = (r+2y+3g)%3

Красный+зеленый = 2 желтых
((r-1)+2(y+2)+3(g-1))%3 = (r+2y+3g)%3

Желтый+зеленый = 2 красных
((r+2)+2(y-1)+3(g-1))%3 = (r+2y+3g-3)%3 = (r+2y+3g)%3

Т.е. эта характеристика инвариантна. Изначально
r=40, y=50, g=60. Вычисляем f=(40+2*50+3*60)%3 = (40+100+180)%3 = 320%3 = 2.
Если бы получились одного цвета, то их стало бы 150, что делится на 3, т.е. остаток от деления на 3 ревен 0, а у нас 2. Значит, такого быть не может.
20 Convert
 
31.10.18
08:11
(19) Так ты сравни это с (3) Там нет доказательства инвариантности, а значит это решение ни чем не лучше, чем в (1)
21 RomanYS
 
31.10.18
08:37
(20) согласен, но лень пока побеждает)
22 Повелитель
 
31.10.18
08:40
(0) Классно ты завуалировал задачу, когда все на земле станут неграми )))
23 Garykom
 
гуру
31.10.18
09:01
Если хамелеонов разных цветов одинаковое кол-во то задачка решаема, значит можно упростить задачу преобразовав ее к эквивалентной за вычетом этого равного кол-ва:

0 красных + 10 желтых + 20 зеленых

Аналогично задача эквивалентна если не вычитать а поделить на одно число все кол-ва:
4 красных + 5 желтых + 6 зеленых

Если же применить оба преобразования то выйдет странное:
0 красных + 1 желтых + 2 зеленых

Тут как не преобразовывай один фиг будут цифры 0, 1 и 2 разных цветов - итого задача превратить всех в один цвет нерешаема.
24 Timon1405
 
31.10.18
09:14
(0) вроде, в оригинале это был остров Серобуромалин
25 Ненавижу 1С
 
гуру
31.10.18
11:22
(24) было дело
26 Трипиэль
 
31.10.18
11:37
(0) Может быть так: чтобы все хамелеоны стали одинакового цвета, необходимо выровнять в количестве хотя бы 2 цвета. Каждое действие либо не изменяет разницу в количестве пары цветов (-1 и -1), либо изменяет на 3 единицы (-1 и +2). Исходные разницы 10 и 20 единиц, ни ту, ни другую никак не выровнять такими действиями.
27 Случайный прохожий
 
31.10.18
11:40
(26) "ни ту, ни другую никак не выровнять такими действиями" - это не доказательство :)
28 Ненавижу 1С
 
гуру
31.10.18
11:40
(26) другими словами остаток от деления на три у разницы в количестве любых двух цветов сохраняется, изначально ни для одной пары она не нулевая, а требуется нулевая
29 Трипиэль
 
31.10.18
11:43
(27) у нас "шаг сближения" 0 или 3. надо этими "шагами" "съесть расстояние" в 10 или 20.
(28) да

я уже не помню какая терминология в подобных задачах)
30 Ненавижу 1С
 
гуру
31.10.18
14:35
В кабинете есть юзеры трех типов: 40 опытных, 50 пиздец-опытных и 60 умеющих отрывать пасьянс косынка.
Когда два юзера разных типов встречаются, то они становятся третьим типом.
Три юзера не встречаются никогда. Других типов нет. Не размножаются временно.
Могут ли все они делать годовой отчет без красняка?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс