home. Обменник работает два дня, и курсы в эти дни разные.
В первый день действуют пары day1_pairs с курсами day1_rates: пара [a, b] с курсом r означает, что одну единицу a можно обменять на r единиц b. Обмен работает и в обратную сторону: одна единица b превращается в 1 / r единиц a. Второй день устроен так же — с day2_pairs и day2_rates.
Сначала вы делаете сколько угодно обменов (в том числе ни одного) по курсам первого дня, затем — сколько угодно обменов по курсам второго. Верните наибольшее количество валюты home, которое может оказаться у вас в конце.
Внутри одного дня курсы согласованы: циклов обмена нет, и пара валют встречается не больше одного раза. Ответ сравнивается с точностью до 10⁻⁶.home="KZT", day1_pairs=[["KZT", "USD"], ["USD", "EUR"]], day1_rates=[2.0, 4.0], day2_pairs=[["EUR", "GBP"], ["GBP", "KZT"]], day2_rates=[3.0, 5.0] → 120.0
В первый день: 1 KZT → 2 USD → 8 EUR. Во второй: 8 EUR → 24 GBP → 120 KZT.
home="CHF", day1_pairs=[["CHF", "SEK"]], day1_rates=[8.0], day2_pairs=[["CHF", "SEK"]], day2_rates=[2.0] → 4.0
Меняем франк на 8 крон в первый день, а во второй обмениваем их обратно по курсу 1/2: получается 4 франка.
home="BRL", day1_pairs=[["BRL", "MXN"]], day1_rates=[3.0], day2_pairs=[["MXN", "INR"]], day2_rates=[4.0] → 1.0
Во второй день вернуться в реалы невозможно, поэтому выгоднее ничего не менять и остаться с 1.0.
len(day1_pairs), len(day2_pairs) ≤ 10len(day1_rates) == len(day1_pairs), len(day2_rates) == len(day2_pairs)home="KZT", day1_pairs=[["KZT", "USD"], ["USD", "EUR"]], day1_rates=[2.0, 4.0], day2_pairs=[["EUR", "GBP"], ["GBP", "KZT"]], day2_rates=[3.0, 5.0]
120.0
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 6 тестов на сервере, включая скрытые.