Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_18_09 - Zakres czujnika |
Rozpatrzmy czujnik, który udostępnia rejestr b-bitowy, w celu przechowania ciągłego zakresu liczb całkowitych. Zakres ten będzie możliwie symetryczny względem zera w przypadku, gdy ciąg zawiera liczby ujemne i nieujemne albo będzie zaczynał się od zera w przypadku, gdy ciąg zawiera tylko liczby nieujemne. Jeżeli rejestr ma przechowywać zarówno wartości ujemne jak i nieujemne to najbardziej znaczący bit jest używany do przechowywania znaku (1 – ujemna, 0 – nieujemna).
Twoim zadaniem jest określenie minimalnej i maksymalnej wartości jaką może przechować rejestr czujnika, a także wypisanie kolejnych bitów jakie znajdą się w rejestrze po zapisaniu w nim pewnej wartości x.
Wejście
Na wejściu podana zostanie liczba testów t (t < 105). Następnie, w kolejnych t liniach, rozdzielone spacjami, kolejno:
- wartość b (1 ≤ b ≤ 64)
- napis "SIGNED" albo "UNSIGNED", oznaczający charakter mierzonej wielkości (w pierwszym przypadku odczyt może być dodatni bądź ujemny, a w drugim wyłącznie nieujemny)
- liczba całkowita x (|x| < 264)
Jeżeli na wejściu podany został napis "SIGNED", gwarantuję, że b > 1.
Wyjście
Na wyjściu, w kolejnych liniach dla każdego testu, należy podać najmniejszą i największą liczbę możliwą do przechowania przy użyciu b bitów w rejestrze, z uwzględnieniem informacji o konieczności przechowania znaku. Następnie należy wyświetlić bity odpowiadające liczbie x lub napis "Ups", jeżeli w danej sytuacji liczba ta nie zmieści się w rejestrze.
Sposób, w jaki należy interpretować kolejne ciągi bitów, wynika jednoznacznie z treści przykładu i specyfikacji zadania.
Przykład
Wejście:
8 2 SIGNED -3 2 SIGNED -2 2 SIGNED 0 2 SIGNED 1 2 SIGNED 2 2 UNSIGNED 0 2 UNSIGNED 1 2 UNSIGNED 3
Wyjście:
-2 1 Ups -2 1 11 -2 1 00 -2 1 01 -2 1 Ups 0 3 00 0 3 01 0 3 11
Dodane przez: | anonimowy |
Data dodania: | 2023-12-30 |
Limit czasu wykonania programu: | 3s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC COBOL D-CLANG D-DMD ELIXIR FANTOM GOSU GRV JS-MONKEY NIM OBJC OBJC-CLANG PICO RUST SCM qobi CHICKEN VB.NET |