Для 2
ответ - 2*floor(X/n)
. Мужчина всегда пойдет в ванную с сиденьем унитаза и опустит его. Женщина никогда не откажется, потому что она встает, когда мужчина идет в ванную.
1
немного сложнее.
РЕДАКТИРОВАТЬ: Дух. Для 1
ответ - 2*floor(X/m)
. Сиденье унитаза переключается только тогда, когда женщина идет в ванную.
EDIT2: плюс или минус начальное состояние туалета.
РЕДАКТИРОВАТЬ3: Мой ответ на 1 является правильным, только если m>=n
. Остальное я выясню позже.
РЕДАКТИРОВАТЬ4: Если n>=2m
, то это 2*floor(X/n)
, так как место будет переходить только тогда, когда человек мочится. Если n>m
, я считаю, что ответ также 2*floor(X/n)
, но мне нужно разобраться с математикой.
РЕДАКТИРОВАТЬ5: Таким образом, для 2m>n>m
сиденье меняется, когда мужчина мочится за женщиной, и наоборот. Последовательность визитов мужчины / женщины повторяется каждые least_common_multiple(m, n)
минуты, поэтому нам нужно только задуматься о том, что происходит в этот период времени. Единственное время, когда сиденье будет не переходить, когда человек его использует, будет, если ему удастся посетить его дважды подряд. Учитывая, что женщина навещает на больше * на 1028 * чаще, чем мужчина, между каждым посещением мужчины происходит как минимум одно посещение женщины. (Дважды в начале или в конце.)
Ответ 1 становится: (n>m ? 2*floor(X/n) : 2*floor(X/m)) + (remainder(X/n) > remainder(X/m) ? 1 : 0)
. Или что-то в этом роде.