Он должен сделать 01. Но нет ничего страшного в том что его засчитают за второго.
Так как для успешного прохождения всего пути надо что бы каждый перевернул правильно.
И тогда последний поймёт что всё было правильно до него и сделает вывод что все были.
Идём от обратного.
Если 5 увидит 10 - он поймёт что предыдущий был либо он либо 4. Если это был он сам - то возвращаемся в начало предложения. Если это был четвёртый - становимся на место четвёртого.
Если четвёртый видит 11 - он поймёт что предыдущий были либо он сам либо 3. Ну и т.д..
Вопщем лучше наверно переописать. А то я уже запутался в своих же измышлениях.
Итак имеем заранее определённый порядок положений книг:
1 - 00
2 - 01
3 - 11
4 - 10
5 - 00
Когда заходит любой из заключённых, он смотрит на текущее положение книг. Если в списке это положение находится слева от него. Он переворачивает книги так что бы получилась комбинация присвоенная ему.
Если не удаётся повернуть книгу так что бы получилась его комбинация или текущее положение книг не такое как надо, он переворачивает книгу так что бы получилась комбинация слева от текущего положения. (Делает шаг назад).
А. Я немного не доописал. Двигаем книги только тогда если они установлены в такое положение которое находится в спсике от меня слева. Если так не получается - двигаем книги так что бы получилась комбинация слева.
В сущности таким способом мы будем просто ждать того момента пока начальник конслагеря сам не проведёт всех заключённых поочереди в нужном нам порядке.
При котором не учитывается начальное положение книг.
Определим за каждым заключённым одну из комбинаций: 00(1) 01(2) 11(3) 10(4) 00(5) В скобках номера заключённых. Именно в такой последовательности.
После каждого вызова каждый заключённый пытается привести текущее положение книг в то положение которое назначено ему.
Если он не может этого сделать он пытается привести положенее книг к виду положение "слева от него". Т.е если я номер 3 пришёл и вижу: 00 я делаю 01.
Говорить что "мы побывали тут все" может заключённый под номером 5, но только в том случае если он перевернул книги из положения 4 в положение 5.
А вот какая интересная мысль возникла в связи с этим топиком:
Смотрите идею: Для того что бы не было "необдуманных" повышений кармы надо просто один голос считать за половинку голоса. Но давать возможноть поднимать или опускать карму два раза.
При этом никак не показывать пользователю - голосовал он уже за этого человека или против.
Т.е если бы такая система работала сейчас - вы бы опять попытались поднять человеку карму, а она бы таки поднялась! :) (В предыдущий раз соответственно не поднялась).
Единственное что надо добавить - это какойто большой (3-5 дней) промежуток времени между повышениями кармы на "0.5".
Соответственно всё будет рабоатб и в обратную сторону.
Например вам захочется понизить карму - нажали на кнопку "-", а карма не изменилась.
В следующий раз вы опять хотите понизить человеку карму и только тогда она понижается.
Дабл илюминэйшн.
Получается что: Механизм кармы работает. (Плохого два раза заминусуют если он дейтсвительно плохой.) Баланс силы соблюдён. :)
Вопрос хоть и умесный но некорректный.
Катет может быть прилежащим по отношению к какому то углу.
Вы явно не ходили на уроки геометрии :) На эту уловку учителя 5 классов ловят двоечников :)))
Ну это из разряда холивара вопрос.
Я имею ввиду неразбериху с именованием.
Например функции для работы с массивами начинаются на array_ но функция sort() почемуто не начинается.
Тоже самое касается строк. Например есть пачка функций начинающхся с str а есть такие которые начинаются на str_, и ещё есть такие которые без префиксов.
Не скажу что это критично, но было бы интуитивно понятнее если бы был какойто стандарт. Ну и вообще -стандарты это хорошо. Особенно это касается именования функций.
Так как для успешного прохождения всего пути надо что бы каждый перевернул правильно.
И тогда последний поймёт что всё было правильно до него и сделает вывод что все были.
Идём от обратного.
Если 5 увидит 10 - он поймёт что предыдущий был либо он либо 4. Если это был он сам - то возвращаемся в начало предложения. Если это был четвёртый - становимся на место четвёртого.
Если четвёртый видит 11 - он поймёт что предыдущий были либо он сам либо 3. Ну и т.д..
Итак имеем заранее определённый порядок положений книг:
1 - 00
2 - 01
3 - 11
4 - 10
5 - 00
Когда заходит любой из заключённых, он смотрит на текущее положение книг. Если в списке это положение находится слева от него. Он переворачивает книги так что бы получилась комбинация присвоенная ему.
Если не удаётся повернуть книгу так что бы получилась его комбинация или текущее положение книг не такое как надо, он переворачивает книгу так что бы получилась комбинация слева от текущего положения. (Делает шаг назад).
При котором не учитывается начальное положение книг.
Определим за каждым заключённым одну из комбинаций: 00(1) 01(2) 11(3) 10(4) 00(5) В скобках номера заключённых. Именно в такой последовательности.
После каждого вызова каждый заключённый пытается привести текущее положение книг в то положение которое назначено ему.
Если он не может этого сделать он пытается привести положенее книг к виду положение "слева от него". Т.е если я номер 3 пришёл и вижу: 00 я делаю 01.
Говорить что "мы побывали тут все" может заключённый под номером 5, но только в том случае если он перевернул книги из положения 4 в положение 5.
Блин гоню. Нельзя пропускать :((
Вот невнимательность - вторая глупость.
Есть 4 комбинации книг которые можно получить:
Верх1 Верх2
Верх1 Тыл2
Тыл1 Верх2
Тыл1 Тыл2
Закрепляем каждую комбинацию за одним человеком.
5 ничего не делает и при входе в команту не переворацичвает книги.
Каждый заходит в комнату и пытается извменить положение книг так, что бы получилась та комбинация которую ему присвоили.
Когда вызывают пятого он смотрит на положение книг и запоминает. Когда пятый уидит все комбинации - он может говорить что мы все тут уже были.
Ну и ещё: если один из четвёрки не может привести комбюинацию к своей - он не трогает книги вообще.
Это внутри может сложно, а снаружи для пользователя - отлично всё и понятно, имхо.
Смотрите идею: Для того что бы не было "необдуманных" повышений кармы надо просто один голос считать за половинку голоса. Но давать возможноть поднимать или опускать карму два раза.
При этом никак не показывать пользователю - голосовал он уже за этого человека или против.
Т.е если бы такая система работала сейчас - вы бы опять попытались поднять человеку карму, а она бы таки поднялась! :) (В предыдущий раз соответственно не поднялась).
Единственное что надо добавить - это какойто большой (3-5 дней) промежуток времени между повышениями кармы на "0.5".
Соответственно всё будет рабоатб и в обратную сторону.
Например вам захочется понизить карму - нажали на кнопку "-", а карма не изменилась.
В следующий раз вы опять хотите понизить человеку карму и только тогда она понижается.
Дабл илюминэйшн.
Получается что: Механизм кармы работает. (Плохого два раза заминусуют если он дейтсвительно плохой.) Баланс силы соблюдён. :)
А в данном случае логином является email.
Катет может быть прилежащим по отношению к какому то углу.
Вы явно не ходили на уроки геометрии :) На эту уловку учителя 5 классов ловят двоечников :)))
А примеров - особо искать не надо.
Я имею ввиду неразбериху с именованием.
Например функции для работы с массивами начинаются на array_ но функция sort() почемуто не начинается.
Тоже самое касается строк. Например есть пачка функций начинающхся с str а есть такие которые начинаются на str_, и ещё есть такие которые без префиксов.
Не скажу что это критично, но было бы интуитивно понятнее если бы был какойто стандарт. Ну и вообще -стандарты это хорошо. Особенно это касается именования функций.
Как то обычно смотрю на то место куда пишу/кликаю/
сажусьперед тем как что-то сделать :)