Це код гольфу. Для цього завдання я прийму метод (вам не потрібна повна програма), але підпис методу дійсно зараховується до кількості байтів, і я хочу бачити повний підпис (а не lamdba). Вхідним методом є цілий масив з 81 елементом. Значення виводу / повернення методу - це рядок, який представляє масив у вигляді дошки ascii sudoku.
Якщо ви використовуєте езотеричну мову або щось, що абсолютно не має методів, ви можете адаптуватися, але якщо мова взагалі підтримує це, я хочу побачити, що щось насправді може бути включене в "справжню" програму, що не має волі, навіть якщо Сам метод організму - це біль, з якою працювати. Ця вимога не призначена для блокування таких мов, як Jelly або 05AB1E, а для того, щоб таким мовам, як Java, було легше будувати щось, що має сенс для цієї платформи.
Для введення цілі значення 1-9 повинні мати очевидні значення. 0 завжди слід інтерпретувати як порожню клітинку. Ви також можете інтерпретувати все, що знаходиться поза діапазоном 1-9, як порожню клітинку, але це не потрібно. Позиціонування від масиву до головоломки починається вгорі ліворуч і заповнює кожен рядок зліва направо, перш ніж переходити до наступного ряду.
Для ящиків я хочу подвійні лінії навколо зовнішньої сторони та між кожною областю 3х3 та поодинокими лініями між іншими клітинками. Вони повинні бути намальовані символами малювання рядків (якщо ваш формат вводу / виводу представляє рядки як послідовність байтів, а не послідовність символів, ви повинні представити їх у відомій кодуванні, такі як UTF-8 або кодова сторінка 347).
Для цього завдання я НЕ прошу створити головоломку судоку. Це вхід для функції. Я НЕ прошу розгадати загадку. Я просто прошу створити рядок, щоб "намалювати" те, що вам дано (у якомога менше байтах).
Приклад введення:
Значення для масиву:
{ 8, 5, 0, 0, 0, 2, 4, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 2, 3, 0, 5, 0, 0, 0, 9, 0, 0 ,0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 7, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 4, 0}
Ці значення можуть використовувати будь-який механізм, природний для вашої мови: int [], ArrayList, послідовність, кортеж, рядок цифр, будь-що, доки у вас є значення для введення для кожної комірки (немає карт для лише заселених комірок на позиції ). Пам'ятайте, що введення постачається ... це не є частиною вашого байтового числа. Але вхід може представляти будь-яку головоломку судоку, і головоломка може навіть не мати дійсного рішення . Ви отримуєте припустити , що головоломка є печаткою. Ви не отримаєте щось, наприклад, з 82 елементами.
Ви також можете прийняти шрифт розумної фіксованої ширини.
Відповідний вихід:
╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗ ║ 8 │ 5 │ ║ │ │ 2 ║ 4 │ │ ║ ╟───┼───┼────────────────────────┼───╢ ║ 7 │ 2 │ ║ │ │ ║ │ 9 ║ ╟───┼───┼────────────────────────┼───╢ ║ │ │ 4 ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║ │ │ ║ 1 │ │ 7 ║ │ │ 2 ║ ╟───┼───┼────────────────────────┼───╢ ║ 3 │ │ 5 ║ │ │ ║ 9 │ │ ║ ╟───┼───┼────────────────────────┼───╢ ║ │ 4 │ ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║ │ │ ║ │ 8 │ ║ │ 7 │ ║ ╟───┼───┼────────────────────────┼───╢ ║ │ 1 │ 7 ║ │ │ ║ │ │ ║ ╟───┼───┼────────────────────────┼───╢ ║ │ │ ║ │ 3 │ 6 ║ │ 4 │ ║ ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝