Ця проблема натхненна цим додатком . Тестові приклади запозичені з цього додатка.
Це найшвидший виклик коду , де мета - вирішити найбільші тестові випадки за найменший проміжок часу. Наведено кілька менших тестових випадків, щоб люди могли швидше перевірити свої алгоритми.
Вам буде надана квадратна вхідна сітка розмірів n-by-n де 9 <= n <= 12 . Ця сітка буде розділена на n областей, де клітинки кожної області мають унікальні ідентифікатори (я буду використовувати в цьому тексті маленькі літери від al , але ви можете вибрати що завгодно, наприклад, цілі числа 1-12 ) .
Вхід може виглядати приблизно так (необов'язковий формат введення):
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
Або простіше уявити:
Виклик:
Ви повинні розмістити 2 * n дерев у цьому парку, відповідно до таких правил:
- На стовпчик повинно бути рівно 2 дерева та 2 дерева на ряд
- У всіх районах має бути рівно 2 дерева.
- Жодне дерево не може бути сусіднім з іншим деревом, вертикально, горизонтально або по діагоналі
Рішення для макета вище:
Примітка. На кожну головоломку існує лише одне рішення
Додаткові правила:
- Формати введення та виведення необов’язкові
- Вихідним може бути, наприклад, список індексів, сітка з 1/0, яка вказує, чи є дерево в цьому положенні, або модифікована версія вводу, де вказані дерева.
- Час виконання повинно бути детермінованим
- Програма повинна закінчитися 1 хвилину на комп'ютері @ isaacg
- Характеристики: 4 процесора, i5-4300U процесор при 1,9 ГГц, 7,5 г оперативної пам’яті.
- Якщо ваша програма не зможе вирішити два найбільші тестові справи за одну хвилину, то час для другого за величиною ( n = 11 ) буде вашим балом. Ви програєте проти рішення, яке вирішує найбільшу справу.
Тестові приклади:
Я можу відредагувати цей список, якщо здається, що подання підганяються під ці тестові випадки.
12 на 12 :
--- Input ---
aaaaabccccdd
aaaaabccccdd
aaaaabbbbddd
eeeafffgbghh
eeaafffgbghh
eefffffggghh
eeefijffghhh
iieiijjjjkhh
iiiiijjjjkhk
lljjjjjjjkkk
llllllkkkkkk
llllllkkkkkk
--- Solution ---
aaaaabcccCdD
aaaaaBcCccdd
aAaaabbbbdDd
eeeaffFgBghh
eeAaFffgbghh
eefffffGgGhh
EeefijffghhH
iiEiIjjjjkhh
IiiiijjjjkHk
lljJjJjjjkkk
lLllllkkKkkk
lllLllKkkkkk
11 до 11 :
--- Input ---
aaaaaaabbcc
adddabbbbcc
edddbbbbbbc
eddddbbbbbb
effffggghhh
effffgghhii
eefffjjhhii
eeeejjjhhii
eeejjjjkiii
jjjjjjkkiii
jjjjjkkkiii
--- Solution ---
aaAaaaabbCc
adddAbBbbcc
eDddbbbbbbC
eddDdBbbbbb
effffggGhHh
eFfffGghhii
eefFfjjhHii
EeeejjjhhiI
eeEjjjjKiii
JjjjJjkkiii
jjjjjkKkIii
10 на 10
--- Input ---
aaaaabccdd
aeaabbbccd
aeaabfbgcd
eeeaafggcd
eeeaafghcd
eeeiifghcd
ieiiigghcd
iiijighhcd
jjjjighhcd
jjjggghhdd
--- Solution ---
aaAaabccdD
aeaaBbBccd
aEaabfbgcD
eeeaaFgGcd
eEeAafghcd
eeeiiFghCd
IeiIigghcd
iiijigHhCd
JjJjighhcd
jjjgGghHdd
9 на 9
--- Input ---
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
--- Solution ---
aAbBbbbcc
adddbbBcC
adEeEcccc
AdddefgCc
hhhDiFggg
hDddifffG
hhhiIfFfg
HiHiifffg
iiiiiIgGg
--- Input ---
aaabbbccc
aaaabbccc
aaaddbcce
ffddddcce
ffffddeee
fgffdheee
fggfhhhee
iggggheee
iiigggggg
--- Solution ---
aaAbBbccc
AaaabbcCc
aaaDdBcce
fFddddcCe
fffFdDeee
fGffdheeE
fggfHhHee
IggggheeE
iiIgggGgg
There shall be exactly 2 trees per column, and 2 trees per row
тому груба сила, мабуть, неможлива.