Есть монетка с неизвестной вероятностью орла p, где 0 < p < 1. Нужно получить один честный бит: 0 или 1 с вероятностью 50/50.
В тренажере вместо настоящего генератора вам передается список уже полученных бросков flips, где 0 и 1 — два исхода biased coin.
Читайте броски парами:
[0, 1] возвращает честный результат 0;[1, 0] возвращает честный результат 1;[0, 0] и [1, 1] отбрасываются.Верните [result, used_flips], где used_flips — сколько бросков было прочитано до первого результата. Если в списке не хватило бросков для результата, верните None.
def fair_coin_from_biased(flips: list[int]) -> list[int] | None:flips = [0,1][0,2]flips = [1,0][1,2]flips = [0,0,1,1,1,0][1,6]