Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

FR_18_09 - Zakres czujnika

Elektronika; grafika na potrzeby zadania, zrodlo: https://pl.wikipedia.org/wiki/Elektronika#/media/Plik:Arduino_ftdi_chip-1.jpg

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łowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD DART ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG PYPY3 R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.