Неперетинний шлях коня
Відомо, що існує головоломка, де потрібно "обійти" конем усі клітинки шахової дошки розміром . Кінь може рухатися, перестрибуючи на одну клітинку в одному напрямку і на дві клітинки в ортогональному напрямку. Завдання полягає в тому, щоб кінь відвідав кожну клітинку дошки без повторень і повернувся на початкову клітинку. Існує багато способів це зробити, і розмір дошки не є великим, тому це завдання може бути вирішене людиною.
Однак у вас є комп'ютер і певні навички програмування! Тому ми пропонуємо вам більш складну версію цієї задачі на прямокутній шаховій дошці розміром з додатковим обмеженням: кінь ніколи не може перетнути свій власний шлях. Якщо уявити його шлях як відрізки прямих, що з'єднують центри квадратів, між якими він стрибає, то ці відрізки повинні утворювати простий багатокутник; тобто жодні два відрізки не повинні перетинатися чи дотикатися, за винятком того, що послідовні сегменти дотикаються в спільній точці. Це обмеження унеможливлює відвідування кожної клітинки, тому ваше завдання — максимізувати кількість клітинок, які відвідає кінь. Ми зберігаємо обмеження, що кінь повинен повернутися на початкове поле. На рисунку J.1 показано оптимальне рішення для першого прикладу вхідних даних — дошка .
Вхідні дані
Вхідні дані містять два цілі числа і , які визначають розміри прямокутної шахової дошки.
Вихідні дані
Виведіть максимальну кількість клітинок, яку може відвідати кінь на шаховій дошці , не перетинаючи свій шлях. Якщо такого туру не існує, виведіть .