"그림은 천 단어의 가치가있다"– 그래서 오래된 말은 계속된다. 평균 단어 길이는 약 4 자이므로 그림은 4kB의 정보를 전달합니다. 그러나 그림보다는 정보가 얼마나 많은 엔트로피를 전달할 수 있습니까?
당신의 임무는 가능한 최대 엔트로피로 정확히 4,000 바이트 크기의 이미지를 생성하는 것입니다. 선택한 언어, 라이브러리 또는 이미지 형식을 사용할 수 있으며 여기에 이미지를 업로드하는 한 콘솔이나 파일로 출력 할 수 있습니다.
채점
DEFLATE 알고리즘 및 기본 설정 (특히 명령 )을 사용하여 이미지가 GNU tar
버전 1.28 및 gzip
버전 1.6으로 압축 된 경우 점수는 압축 비율 (4000 ÷ 압축 크기) tar -czvf out.tar.gz image
입니다. 가장 작은 압축 비율이 이깁니다.
gzip -n image
4000 바이트의 입력을 주어 4023 바이트보다 파일이 큰 생성 할 수 없습니다. 머리글에는 10 바이트, 바닥 글에는 8 바이트, DEFLATE 블록 머리글 및 패딩에는 1, DEFLATE 블록 크기에는 4 바이트가 필요합니다. 나머지는 압축되지 않은 바이트로 저장됩니다. 임의의 비트로 구성된 대부분의 파일은 압축되지 않은 상태로 저장됩니다.
tar
기본적으로 출력 파일에 mtime을 포함한 메타 데이터를 포함합니다. 이것은 최종 압축 파일 크기에 영향을 미칩니다. 일부 mtime은 다른 압축 파일보다 더 잘 압축됩니다.gzip -n image
mtime (및 입력 파일 이름)에 관계없이 출력 크기를 결정적으로 만들도록 명령을 변경합니다 .