это единственный вариант, имхо.
решение валидно при двух условиях:
1. в исходном положении вторая книга лежит лицом вверх.
2. заключённых пускают повторно и в произвольном порядке.
ещё одно имхо: второе условие подразумевается исходя из:
"Выбирать заключенных я буду как мне хочется: например, сегодня первого три раза свожу, а завтра всех по очереди..."
* один из заключённых обьявляется счётчиком. все знают, что он счётчик. он в итоге и скажет, что все были в комнате.
* все заключённые переворачивают только первую книгу.
* вторая книга переворачивается заключённым только в том случае, если:
1. книга лежит лицевой стороной вверх.
2. заключённый первый раз увидел, что книга лежит лицевой стороной вверх.
3. при повторном визите при любом положении второй книги крутится первая книга.
* во всех остальных случаях переворачивается первая книга.
если счётчик заходит в комнату и видит, что вторая книга перевёрнута тыльной стороной - он обнуляет значение маркера(возвращает книгу в исходной положение) и считает, что один из заключённых уже был в комнате. к количеству посетивших добавляется один.
и так продолжать до тех пор, пока счётчик не насчитает количество заключённых минус один(он сам).
т.е. счётчик должан вернуть вторую книгу в иходную позицию столько раз, какое количество заключённых побывало в комнате, за исключением его самого.
если заключённый заходит в комнату в первый раз и видит, что вторая книга перевёрнута - он её не трогает, а переворачивает первую т.к. сбросит значение, известное счётчику. При таком подходе будут повторные визиты, но когда счётчик насчитает нужное число обнулений маркера - можно с уверенностью сказать, что все побывали в комнате один или более раз.
если что непонятно - поясню.
Information
Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
но изначально я думал, что книги лежат лицом вверх - для этого случая и решал )
решение валидно при двух условиях:
1. в исходном положении вторая книга лежит лицом вверх.
2. заключённых пускают повторно и в произвольном порядке.
ещё одно имхо: второе условие подразумевается исходя из:
"Выбирать заключенных я буду как мне хочется: например, сегодня первого три раза свожу, а завтра всех по очереди..."
* один из заключённых обьявляется счётчиком. все знают, что он счётчик. он в итоге и скажет, что все были в комнате.
* все заключённые переворачивают только первую книгу.
* вторая книга переворачивается заключённым только в том случае, если:
1. книга лежит лицевой стороной вверх.
2. заключённый первый раз увидел, что книга лежит лицевой стороной вверх.
3. при повторном визите при любом положении второй книги крутится первая книга.
* во всех остальных случаях переворачивается первая книга.
если счётчик заходит в комнату и видит, что вторая книга перевёрнута тыльной стороной - он обнуляет значение маркера(возвращает книгу в исходной положение) и считает, что один из заключённых уже был в комнате. к количеству посетивших добавляется один.
и так продолжать до тех пор, пока счётчик не насчитает количество заключённых минус один(он сам).
т.е. счётчик должан вернуть вторую книгу в иходную позицию столько раз, какое количество заключённых побывало в комнате, за исключением его самого.
если заключённый заходит в комнату в первый раз и видит, что вторая книга перевёрнута - он её не трогает, а переворачивает первую т.к. сбросит значение, известное счётчику. При таком подходе будут повторные визиты, но когда счётчик насчитает нужное число обнулений маркера - можно с уверенностью сказать, что все побывали в комнате один или более раз.
если что непонятно - поясню.