Игорь Б.
ПереможецьБюджет: 2000 UAH Термін: 3 дні
Доброго дня, маю досвід розробки на C більше 10 років, можу виконати вашу задачу
Завдання конкурсного завдання полягає в тому, щоб розробити ефективну програму, яка зможе вирішити головоломку «прямокутники».
Головоломка вводиться в прямокутне поле. У поле вводяться порожні поля та поля з цифровою інформацією. Завдання полягає в тому, щоб всю площу введеного пазла розбити на прямокутники так, щоб:
Розв’язуючи, ви знаєте, що ігрова зона має розмір не більше 32x32 квадратів, загальна кількість заповнених квадратів становить не більше 200, а заповнені числа знаходяться в діапазоні від 1 до 99.
На стандартному вводі програма отримує вхід пазла, введення завершується закінченням std. вхід (EOF активний). Точний формат введення можна побачити у прикладі нижче.
Програма аналізує введений пазл і вирішує, який з варіантів вийшов:
Програма повинна перевірити правильність введених даних. Якщо у вхідних даних введено неправильні, безглузді або суперечливі значення, програма виявляє це, відображає повідомлення про помилку та завершує роботу. Формат повідомлення про помилку показаний у прикладі виконання нижче. Помилкою вважається:
Програма тестується в обмеженому середовищі. Він обмежений обсягом доступної пам'яті та часом виконання. Обидва обмеження можна побачити в журналі тестування розчину зразка. Загалом, завдання не потребує пам’яті. Однак він дуже вимогливий до процесорного часу. Якщо головоломка має кілька рішень, вивчення всіх варіантів може зайняти дуже багато часу. Необхідно розробити ефективний алгоритм, який дозволить не витрачати час на спроби, які не приводять до мети.
Робота оцінюється в конкурсному режимі. Це означає, що це складніше, ніж стандартні роботи. Це вимагає поєднання навичок програмування та алгоритмізації. Передбачається, що завдання будуть вирішувати студенти, які мають певні знання з програмування, тобто студенти, для яких стандартні завдання нудні. Оцінка складається з гарантованого набору балів (успіх у позаконкурсних тестах) і набору балів, отриманих за місце в конкурсі з іншими учнями (ці бали зараховуються після закінчення конкурсу).
Приклад програмної роботи:
Введіть загадку:
+--+--+--+--+--+ | 2 3 2| + + + + + + | 2 3 | + + + + + + | 3 | + + + + + + | 2 | + + + + + + | 2 3 3| +--+--+--+--+--+ Одне рішення:
+--+--+--+--+--+ | 2| 3 | 2| + +--+--+--+ + | | 2| 3| | +--+--+--+ +--+ | 3 | | | +--+--+--+ + + | | 2| | | + +--+--+--+ + | 2| 3| 3| +--+--+--+--+--+
Введіть пазл:
+--+--+--+--+--+--+--+--+--+--+ | 4 2 | + + + + + + + + + + + | 3 | + + + + + + + + + + + | 2 3 8 | + + + + + + + + + + + | 4 2 10 | + + + + + + + + + + + | 2 2 3 | + + + + + + + + + + + | 2 6| + + + + + + + + + + + | 12 6 | + + + + + + + + + + + | 2 4 4| + + + + + + + + + + + | 10 3 | + + + + + + + + + + + | 2 2 2 | +--+--+--+--+--+--+--+--+--+--+
Одне рішення:
+--+--+--+--+--+--+--+--+--+--+ | 4| 2| | | | | | | + + + + + + + + + + + | | | | 3| | | | | + +--+ + + + + + + + + | | 2| | | 3| 8| | | + + + +--+--+ + + + + + | | | 4| 2 | | 10| | +--+--+--+--+--+--+--+ + + + | 2| 2| 3 | | | +--+--+--+--+--+--+--+--+--+ + | | | 2| 6| + + + + + + + + + +--+ | 12| 6 | | | +--+--+--+--+--+--+ + +--+ + | 2 | 4 | | | 4| +--+--+--+--+--+--+--+--+ + + | | | | 10 | 3| | + + + + + + + + + + + | 2| 2| 2| | | | +--+--+--+--+--+--+--+--+--+--+
Введіть пазл:
+--+--+--+--+--+--+--+--+--+ | 2 3 2 | + + + + + + + + + + | 3 2 2 1 | + + + + + + + + + + | 7 | + + + + + + + + + + | 7 3 | + + + + + + + + + + | 4 4 3 3 7| + + + + + + + + + + | 3 | + + + + + + + + + + | 4 3 | +--+--+--+--+--+--+--+--+--+
Одне рішення:
+--+--+--+--+--+--+--+--+--+ | 2| 3| | | 2 | | + +--+--+--+ + +--+--+ + | | 3| 2| 2| 1| | | +--+--+--+--+--+--+--+ + + | 7 | | | +--+--+--+--+--+--+--+ + + | 7 | 3| | +--+--+--+--+--+--+--+--+ + | 4| 4| 3| 3 | 7| + + + + + +--+--+--+ + | | | | 3 | | +--+--+--+--+ +--+--+--+ + | 4 | | 3 | | +--+--+--+--+--+--+--+--+--+
Введіть загадку:
+--+--+--+--+ | 4 | + + + + + | 4 | + + + + + | 4 | + + + + + | 4| +--+--+--+--+ Усього розв’язків: 9
Введіть пазл:
+--+--+--+--+--+--+--+--+--+ | 3 3 | + + + + + + + + + + | 4 4 3 2 2 3 | + + + + + + + + + + | 2 | + + + + + + + + + + | 4 2 3 | + + + + + + + + + + | 3 6 | + + + + + + + + + + | 2 2 2 | + + + + + + + + + + | 2 2 2 8| + + + + + + + + + + | 8 | +--+--+--+--+--+--+--+--+--+ Всього розв’язків: 39
Введіть загадку:
+--+--+--+--+--+--+ | | + + + + + + + | 12 | + + + + + + + | 2 4 | + + + + + + + | 4 | + + + + + + + | 2 | + + + + + + + | | + + + + + + + | 2 8 | + + + + + + + | 3 5 6| +--+--+--+--+--+--+
Немає рішення.
Введіть загадку:
+--+--+--+--+--+ | 2 | + + + + + + | 3 2 | + + + + + + | 3 | + + + + + + | | + + + + + + | 2 2 7| + + + + + + | 3 | + + + + + + | 2 7 2 | +--+--+--+--+--+
Поганий вхід.
Бюджет: 2000 UAH Термін: 3 дні
Доброго дня, маю досвід розробки на C більше 10 років, можу виконати вашу задачу
Добрий день. А приклад виконавчої роботи правильно вставився, враховуючи усі відступи? А то не зовсім розумію... Може ви можете прислати безпосередньо файл із завданням?