cake: символ 'A' — клетка с ягодой, '.' — пустая клетка. Торт нужно разрезать на pieces кусков, сделав pieces - 1 разрезов.
Каждый разрез делается по границе клеток через весь оставшийся кусок — вертикально или горизонтально. При вертикальном разрезе левая часть отдаётся гостю, при горизонтальном — верхняя; резать дальше продолжают оставшуюся часть. Последний оставшийся кусок достаётся последнему гостю.
Посчитайте, сколькими способами можно разрезать торт так, чтобы в каждом куске была хотя бы одна ягода. Способы различаются, если на каком-то шаге выбран другой разрез. Ответ может быть большим — верните его по модулю 10⁹ + 7.cake=["A.A", "...", ".A."], pieces=2 → 4
Подходят четыре разреза: вертикальные после столбца 0 и после столбца 1, горизонтальные после строки 0 и после строки 1 — в обоих кусках каждый раз есть ягода.
cake=["AA", ".."], pieces=3 → 0
Ягод всего две, а кусков нужно три — способов нет.
cake=["A"], pieces=1 → 1
cake=["A.A", "...", ".A."], pieces=2
4
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 73 теста на сервере, включая скрытые.