Розберемося, що обмежує кількість проходів.
Робот іде з лівого верхнього кута в правий нижній лише вниз і вправо, тому його маршрут завжди проходить рівно через клітинку. За кожен прохід він збирає всі квіти зі свого маршруту, а щоб прохід узагалі відбувся, він має зірвати хоча б одну квітку — тобто маршрут мусить містити хоч одну клітинку, де квітка ще залишилась.
Перший прохід «витрачає» n + m - 1 клітинку. Після нього незайманими лишаються nm - (n + m - 1) клітинок. Кожен наступний прохід прибирає щонайменше одну нову клітинку, тому проходів не більше ніж
Ця межа досяжна: оскільки нас просять максимальну кількість проходів, робот щоразу обирає маршрут, який зачіпає рівно одну ще не обірвану клітинку, і витрачає квіти якнайповільніше.
Отже, відповідь — nm - n - m + 2, або, що те саме, (n-1)(m-1) + 1.
Перевірте окремий випадок n = 1 чи m = 1: маршрут тоді єдиний, і формула дає рівно один прохід.