Este es el código de golf. Para este desafío, aceptaré un método (no necesita un programa completo), pero la firma del método no cuenta para el recuento de bytes y quiero ver la firma completa (no una lamdba). La entrada para el método es una matriz entera con 81 elementos. El valor de salida / retorno del método es una cadena que representa la matriz como un tablero ascii sudoku.
Si está utilizando un lenguaje esotérico o algo que absolutamente no tiene métodos, puede adaptarse, pero si el lenguaje lo admite, quiero ver que algo podría estar conectado a un programa no real "real", incluso si el Es un dolor trabajar con el cuerpo del método. El requisito no está destinado a bloquear lenguajes como Jelly o 05AB1E, sino a facilitar que lenguajes como Java construyan algo que tenga sentido para esa plataforma.
Para la entrada, los valores enteros 1-9 deben tener significados obvios. Un 0 siempre debe interpretarse como una celda en blanco. También puede interpretar cualquier otra cosa fuera del rango 1-9 como una celda en blanco, pero esto no es obligatorio. La posición desde la matriz hasta el rompecabezas comienza en la parte superior izquierda y llena cada fila de izquierda a derecha antes de pasar a la siguiente fila.
Para los cuadros, quiero líneas dobles alrededor del exterior y entre cada región 3x3, y líneas simples entre otras celdas. Estos deben dibujarse con caracteres de dibujo lineal (si su formato de E / S representa cadenas como una secuencia de bytes en lugar de una secuencia de caracteres, debe representarlos en una codificación conocida como UTF-8 o página de códigos 347).
Para este desafío, NO te pido que generes el rompecabezas sudoku. Esa es la entrada para la función. NO te estoy pidiendo que resuelvas el rompecabezas. Solo le pido que produzca una cadena para "dibujar" lo que se le da (en la menor cantidad de bytes posible).
Entrada de ejemplo:
Valores para la matriz:
{ 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}
Los valores pueden usar cualquier mecanismo que sea natural para su idioma: int [], ArrayList, secuencia, tupla, cadena de dígitos, lo que sea, siempre que tenga un valor en la entrada para cada celda (no se asignan solo las celdas pobladas a las posiciones ) Recuerde que la entrada se proporciona ... no es parte de su recuento de bytes. Pero la entrada puede representar cualquier rompecabezas de sudoku, y el rompecabezas puede no tener una solución válida . Asumes que el rompecabezas es imprimible. No obtendrá algo con 82 elementos, por ejemplo.
También puede asumir una fuente razonable de ancho fijo.
Salida correspondiente:
╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗ ║ 8 │ 5 │ ║ │ │ 2 ║ 4 │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 7 │ 2 │ ║ │ │ ║ │ │ 9 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ │ 4 ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║ │ │ ║ 1 │ │ 7 ║ │ │ 2 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 3 │ │ 5 ║ │ │ ║ 9 │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ 4 │ ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║ │ │ ║ │ 8 │ ║ │ 7 │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ 1 │ 7 ║ │ │ ║ │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ │ ║ │ 3 │ 6 ║ │ 4 │ ║ ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝