Deutsch
Germany.ruФорумы → Архив Досок→ Курилка

Исчо одна задачка)

22.08.06 19:07
Re: Исчо одна задачка)
 
  anatoli888 знакомое лицо
в ответ CTEPX 22.08.06 15:02
на пальцах:
1 - черный колпак, 0 - белый.
к примеру расположвние колпаков на, допустим, 5 человек такое: 10101
10101 - красным помеченый должен сказать цвет колпака.
шаг певый: 10101 = говорит сумму ксора 0101. делается это так берем первые два числа 0 и 1, их ксор = 1 потом эту еденицу ксорим со следующим числом. это все до тех пор пока не выйдем на 0 или 1. это и будет ксор сумма в даном случае 0. именно это число и называет тот кто стоит сзади всех и видит всех. у него шанс выиргать 50 на 50.
шаг второй: 10101 = считает свой цвет зная сумму ксора таким образом: 0 (сумма ксора от 0101) ксорит с 1 (с первым справа числом) и получает 1 итд до тех пор пока не дойдет до конца (в данном случае до 10101). получается 0 xor 1 => 1 xor 0 => 1 xor 1 => 0 - число которое он должен назвать.
шаг третий: 10101 = делает отже самое только когда доходит до 10101 то результат его ксорит с 0 из прошлого шага и плучает 1.
шаг четвертый: 10101 = ксорит 0 (сумму ксора от 0101) с 1 => 1 потом ксорит тех кто выбыл начиная слева до тех пор пока не дойдет до себя (1) и потом то что было перед ним (1) ксорит с тем что позади него (1) отсюда = 1 xor 1 => 0 получает свое число (0).
шаг пятый: ксорит всех кто отстрелялся начиная слева до тех пор пока не дойдет до себя и ксорит это число с суммой ксора (0) что дает 1.
ну как понятней?
 

Перейти на