[u4] Przechowywanie obrazow monochromatycznych
Data zakończenia: 2024-05-17 11:50
Języki:
c
Limit czasu: 1.0 s
Limit pamięci: 5 MB
Cel
Zadanie na użycie operatorów bitowych (lub arytmetycznych) i proste pętle.
Problem
W pewnym prostym programie na czytnik e-papieru zaszła potrzeba przechowywania prostych obrazów. Ze względu na niewielki rozmiar (monochromatycznych) obrazów zdecydowano się na przechowywanie poszczególnych linijek obrazka w postaci 64-bitowych liczb całkowitych nieujemnych, gdzie kolejne piksele od lewej strony były reprezentowane przez kolejne pary bitów od najmniej znaczących (czyli pierwszy piksel od lewej strony był reprezentowany przez parę najmniej znaczących bitów).
Zadanie
Napisz program, który ze standardowego wyjścia wczyta kolejno następujące (nieujemne) wartości całkowitoliczbowe
Przykład
Wejście
Zadanie na użycie operatorów bitowych (lub arytmetycznych) i proste pętle.
Problem
W pewnym prostym programie na czytnik e-papieru zaszła potrzeba przechowywania prostych obrazów. Ze względu na niewielki rozmiar (monochromatycznych) obrazów zdecydowano się na przechowywanie poszczególnych linijek obrazka w postaci 64-bitowych liczb całkowitych nieujemnych, gdzie kolejne piksele od lewej strony były reprezentowane przez kolejne pary bitów od najmniej znaczących (czyli pierwszy piksel od lewej strony był reprezentowany przez parę najmniej znaczących bitów).
Zadanie
Napisz program, który ze standardowego wyjścia wczyta kolejno następujące (nieujemne) wartości całkowitoliczbowe
- 2 wartości będące kolejno
- szerokością obrazka m (długością wypisywanych wierszy)
- wysokością obrazka n (liczbą wierszy do wypisania
- wartości kodujące kolejne linie obrazka
- "*" ma odpowiadać parze bitów 11 (o wartości 3),
- ";" ma odpowiadać parze bitów 10 (o wartości 2),
- "," ma odpowiadać parze bitów 01 (o wartości 1),
- "." ma odpowiadać parze bitów 00 (o wartości 0).
Przykład
Wejście
20 24Wyjście
0 201195520 3221223424 12884901632 16911499136 16106143680 4294971360 4080 1016 1020 1020 1020 1020 1020 1020 4088 4080 4294983664 16106143712 16911499200 12884901632 3221223424 201293824 0
.................... ........;****;...... .....;*********;.... ....************;... ...;****......***... ...****........**... ..;***..........,... ..****.............. .;***............... .****............... .****............... .****............... .****............... .****............... .****............... .;****.............. ..****.............. ..*****.........,... ..;****........**... ...*****......***... ....************;... .....;*********;.... .......;*****;...... ....................