Цей виклик базується на «Безкоштовному потоці». Інтернет-версію можна знайти тут: http://www.moh97.us/
Вам дадуть головоломку, і ви повинні повернутися, 1
якщо головоломка вирішується, або 0
якщо її немає.
Щоб вирішити головоломку, гравець повинен створити шлях для з'єднання кожної пари чисел, використовуючи кожен порожній квадрат рівно один раз.
Вас передають у розмірах квадрата, а потім x, y, c (де c - число, що представляє колір) кожної точки. Наприклад:
Якби вам 5,5
0,0,0
3,0,1
1,1,2
1,2,2
4,2,1
4,4,0
було передано, це означало б:
0..1.
.2...
.2..1
....0
І має повернути 1.
Ось ще кілька тестових проблем:
5,2
2,0,1
0,1,2
4,1,2
представляє:
..1..
2...2
і не розв’язується, оскільки існує лише 1 1
.
4,2
0,0,0
3,0,0
0,1,0
3,1,0
представляє:
0..0
0..0
і не вирішується, оскільки включає більше 2 0
с.
8,6
0,0,1
7,5,1
представляє:
1.......
........
........
........
........
.......1
і не вирішується (як не можна використовувати кожен квадрат).
2,5
0,0,1
2,0,6
4,0,6
0,1,4
3,1,4
4,1,1
представляє:
1.6.6
4..41
і не вирішується, тому що ви не можете підключити 1s.
6,3
1,0,4
5,0,1
0,1,4
1,1,3
5,1,3
0,2,2
3,2,2
5,2,1
представляє:
.4...1
43...3
2..2.1
і не вирішується, оскільки ви не можете підключити 1 (або 3), оскільки два контури повинні обов'язково перетинатися.
5,2
0,0,1
3,0,1
0,1,3
4,1,1
представляє:
1..1.
3...3
і не вирішується, оскільки ви не можете використовувати всі квадрати при побудові шляху.
2,2
0,0,0
1,1,0
представляє:
1.
.1
і не вирішується, тому що ви також не можете використовувати всі квадрати
Ось ще кілька тестів:
5,5
0,3,0
0,4,1
1,2,2
1,3,1
2,0,0
3,0,4
3,1,2
3,3,5
3,4,4
4,4,5
повинен повернути 1
13,13
1,1,0
9,1,1
10,1,2
11,1,3
1,2,4
2,2,5
5,2,6
7,2,7
3,3,0
5,4,6
6,4,1
9,6,3
4,7,8
5,8,9
12,8,8
11,9,10
2,10,4
4,10,2
9,10,5
11,10,7
1,11,9
12,12,10
повинен повернути 1
7,7
0,0,0
0,1,1
1,1,2
2,1,3
4,2,4
0,3,1
5,3,3
0,4,4
2,4,5
5,4,2
0,5,0
1,5,5
3,5,6
3,7,6
має повернути 0
Це кодовий гольф, і застосовуються стандартні правила.
1
якщо хтось із них відвідує всі комірки та з'єднує всі термінали. Очевидно, що цей підхід не завершиться за розумну кількість часу, окрім найменшоїN
(кількості порожніх комірок), але ми все ще маємо математичну гарантію, що алгоритм зрештою поверне правильне значення.