Zig Zag (un desafío)
Esta vez les voy a proponer un desafío, estoy pensado principalmente en los jóvenes programadores que les gustaría participar en eventos como la ONI (o la IOI), si la cosa tiene algún éxito, les propondré otro desafío.
El desafío es el siguiente:
Producir un arreglo zig-zag.
Un arreglo zig-zag es un arreglo cuadrado de los primeros N2 enteros, donde los números van ordenados de menor a mayor distribuidos en forma de zig zag a lo largo de las anti diagonales de la matriz (ver la figura).
Por ejemplo, si N es 5, el programa debe producir este arreglo:
0 1 5 6 14 2 4 7 13 15 3 8 12 16 21 9 11 17 20 22 10 18 19 23 24
- Aunque esto puede parecer un juego de ingenio, un tanto inútil, la verdad es que este tipo de arreglos es usado en el algoritmo de compresión de imágenes JPEG.