Існує багато різних типів поїздів, починаючи від дерев’яних колій, таких як Brio, до повного цифрового управління ідеальними крихітними металевими репліками реальних поїздів, але всі вони потребують проектування колії, в ідеалі, використовуючи якомога більше ваших деталей.
Отже, ваше завдання - визначити, чи можна, з огляду на введення доступних фрагментів, побудувати повну замкнуту схему, використовуючи всі елементи, а якщо ні, то скільки штук залишиться від максимально можливого кола.
Оскільки це спрощений набір поїздів, є лише 3 елементи: велика крива, маленька крива та пряма. Усі вони базуються на квадратній сітці:
- "Велика крива" - кут на 90 градусів, що охоплює 2 одиниці в кожному вимірі
- "Маленька крива" - кут на 90 градусів, що охоплює по одній одиниці в кожному напрямку
- "Прямий" - прямий елемент, довжиною 1 одиниця
Це означає, що мінімальний можливий контур формується з 4 маленьких кривих - це коло, радіусом 1 одиниця. Це можна розширити, додавши пари прямих елементів для формування різних овалів. Можливі й інші схеми, додавши більше кривих або змішавши типи кривих.
Цей набір поїздів не містить жодних з'єднань або методів для перетину колій, тому не допустимо, щоб два елементи з'єднувалися з одним і тим же кінцем іншого елемента (без утворень Y) або перетиналися один з одним (без X формувань) . Крім того, це набір поїздів, тому будь-яка формація, яка не дозволяє поїзду проходити, не є дійсною: приклади включають прямі, що зустрічаються під кутом 90 градусів (завжди повинна бути крива між перпендикулярними прямими) і криві, що відповідають під кутом 90 градусів. (криві повинні текти).
Ви також хочете використовувати якомога більше штук, ігноруючи їх тип, тому ви завжди будете вибирати схему, яка має більше бітів. Нарешті, у вас є лише один потяг, тому будь-яке рішення, що призводить до кількох схем, неприйнятне .
Вхідні дані
Або масив з трьох цілих чисел, все більше або дорівнює 0, що відповідає кількості великих кривих, маленьких кривих та прямих, або параметрів, переданих вашій програмі, в тому самому порядку.
Вихідні дані
Число, що відповідає кількості штук, що залишилися при побудові максимально можливої схеми для наданих елементів.
Дані тесту
Minimal circuit using big curves
Input: [4,0,0]
Output: 0
Slightly more complicated circuit
Input: [3,1,2]
Output: 0
Incomplete circuit - can't join
Input: [3,0,0]
Output: 3
Incomplete circuit - can't join
Input: [3,1,1]
Output: 5
Circuit where big curves share a centre
Input: [2,2,0]
Output: 0
Bigger circuit
Input: [2,6,4]
Output: 0
Circuit where both concave and convex curves required
Input: [8,0,0] or [0,8,0]
Output: 0
Circuit with left over bit
Input: [5,0,0] or [0,5,0]
Output: 1
Примітки
- 2 прямі і маленька крива еквівалентні великій кривій, але використовуйте більше шматочків, тому бажано - ніколи не повинно бути ситуації, коли ця комбінація залишається, якщо в схемі є якісь великі криві
- 4 маленьких кривих зазвичай можна замінити на 4 прямі, але ні, якщо це призведе до того, що схема перетинається сама
- Набір поїздів також ідеалізований - елементи колії займають показані ширини, тому криві справедливі для проходження через один квадрат сітки без пересічення, в деяких випадках. Сітка просто визначає розміри елементів. Зокрема, дві великі криві можуть бути розміщені так, що квадрат сітки в лівій верхній частині прикладу діаграми також був би нижній правий квадрат іншої великої кривої, що працює зліва вгору (при цьому діаграма показує, що одна працює праворуч донизу)
- Невелика крива може вміститись у порожній простір під великою кривою (нижній правий квадрат сітки вгорі). Друга велика крива також могла використовувати цей простір, змістивши одну впоперек і одну вниз від першої
- Мала крива не може вміщуватися в тому ж просторі сітки, що і зовні великої кривої - в основному тому, що немає можливості підключитися до неї, яка не перетинається незаконно


[5,0,0]або[0,5,0]був би1. Це правильно? Чи можете ви додати такий тестовий випадок?