Aquí hay un código simple, tamaño de mordida (¿tamaño de byte?): Dada una lista no vacía de enteros positivos menores que 10, imprima una matriz de bloques en diagonal , donde la lista especifica el tamaño de los bloques, en orden. Los bloques deben constar de enteros positivos menores que 10. Entonces, si se le da como entrada
[5 1 1 2 3 1]
Su salida podría ser, por ejemplo,
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 1
o
1 2 3 4 5 0 0 0 0 0 0 0 0
6 7 8 9 1 0 0 0 0 0 0 0 0
2 3 4 5 6 0 0 0 0 0 0 0 0
7 8 9 1 2 0 0 0 0 0 0 0 0
3 4 5 6 7 0 0 0 0 0 0 0 0
0 0 0 0 0 8 0 0 0 0 0 0 0
0 0 0 0 0 0 9 0 0 0 0 0 0
0 0 0 0 0 0 0 1 2 0 0 0 0
0 0 0 0 0 0 0 3 4 0 0 0 0
0 0 0 0 0 0 0 0 0 5 6 7 0
0 0 0 0 0 0 0 0 0 8 9 1 0
0 0 0 0 0 0 0 0 0 2 3 4 0
0 0 0 0 0 0 0 0 0 0 0 0 5
o algo así. Los elementos en la matriz deben estar separados por espacios (simples) y las filas separadas por líneas nuevas (simples). No debe haber espacios iniciales o finales en ninguna línea. Puede o no imprimir una nueva línea final.
Puede escribir una función o programa, tomando datos a través de STDIN (o la alternativa más cercana), argumento de línea de comando o argumento de función, en cualquier cadena conveniente o formato de lista (siempre que no esté preprocesado). Sin embargo, el resultado debe imprimirse en STDOUT (o la alternativa más cercana), en lugar de ser devuelto por una función, por ejemplo.
No debe utilizar ninguna función incorporada diseñada para crear matrices de bloques en diagonal.
Este es el código de golf, por lo que gana el envío más corto (en bytes).
Tablas de clasificación
Espero que los lenguajes basados en matrices (como J y APL) tengan la ventaja aquí, pero no quiero que eso desaliente a las personas a intentar hacer lo mejor que puedan en su idioma de elección. Así que aquí hay un Fragmento de pila para generar una tabla de clasificación regular y una descripción general de los ganadores por idioma. Entonces, ¿por qué no tratar de obtener un lugar en este último?
Para asegurarse de que su respuesta se muestre, comience con un título, usando la siguiente plantilla de Markdown:
# Language Name, N bytes
¿Dónde Nestá el tamaño de su envío? Si mejora su puntaje, puede mantener los puntajes antiguos en el título, tachándolos. Por ejemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
[:=/~]#<\cuenten para tu puntaje. Además,=/~@#<\para dos bytes adicionales recortados.