"Un'immagine vale più di mille parole", così recita il vecchio adagio. La parola media è lunga circa quattro caratteri, quindi un'immagine trasmette 4kB di informazioni. Ma quanta entropia , piuttosto che informazioni, può trasmettere un'immagine?
Il tuo compito è generare un'immagine, esattamente di 4.000 byte, con la massima entropia possibile. Puoi utilizzare qualsiasi lingua, libreria o formato di immagine tu scelga e puoi eseguire l'output sulla console o su un file purché carichi qui l'immagine.
punteggio
Il tuo punteggio è il rapporto di compressione (4000 ÷ dimensione compressa) quando l'immagine è compressa con GNU tar
versione 1.28 e gzip
versione 1.6, usando l'algoritmo DEFLATE e le impostazioni predefinite, in particolare il comando tar -czvf out.tar.gz image
. Vince il rapporto di compressione più piccolo.
gzip -n image
non è possibile produrre un file di dimensioni superiori a 4023 byte con un input di 4000 byte. Sono necessari 10 byte per l'intestazione, 8 per il piè di pagina, 1 per l'intestazione e il riempimento del blocco DEFLATE e 4 per la dimensione del blocco DEFLATE; il resto viene semplicemente memorizzato come byte non compressi. La maggior parte dei file composti da bit casuali sono memorizzati non compressi, come dovrebbero essere.
tar
include i metadati, incluso mtime, nei file di output per impostazione predefinita. Ciò influisce sulla dimensione finale del file compresso - alcuni mtime comprimono meglio di altri. La modifica del comando ingzip -n image
renderebbe deterministica la dimensione dell'output indipendentemente da mtime (e dal nome del file di input).