Bitişik bitlər#2445

Bitişik bitlər

1 saniyə
64 meqabayt
Orta

bitdən ibarət bir x_1, x_2, x_3, \ldots, x_n sətirinin qonşu bit sayı () belə müəyyən olunur:

x_1 \cdot x_2 + x_2 \cdot x_3 + x_3 \cdot x_4 + \dots + x_{n-1} \cdot x_n,

yəni, bir bitinin başqa bir biti ilə qonşu olma hallarının sayını sayır. Məsələn:

\operatorname{AdjBC}(011101101) = 3,\ \operatorname{AdjBC}(111101101) = 4,\ \operatorname{AdjBC}(010101010) = 0

Elə bir proqram yazın ki, giriş kimi və tam ədədlərini alsın və bitli bit sətirlərindən (2^n ədəd) \operatorname{AdjBC}(x) = k şərtini ödəyən sətirlərin sayını qaytarsın. Məsələn, bitlik sətirlər üçün \operatorname{AdjBC}(x) = 2 olmaq üçün mümkün yol var:

\mathbf{11100},\ \mathbf{01110},\ \mathbf{00111},\ \mathbf{10111},\ \mathbf{11101},\ \mathbf{11011}

Giriş

Girişin birinci sətirində bir tam ədəd (1 \leq P \leq 1000) verilir, hansı ki, ondan sonra gələn məlumat dəstlərinin sayını göstərir. Hər məlumat dəstəsi bir sətirdə verilir və əvvəlcə məlumat dəstəsinin nömrəsi, ardınca bir boşluq, sonra bitlərin sayı olan bir onluq tam ədəd (), ardından bir boşluq və istənilən qonşu bit sayı olan bir başqa onluq tam ədəd () verilir. Bitlərin sayı () -dən böyük olmayacaq və parametrlər və elə seçiləcək ki, nəticə -bitlik imzalı tam ədədə sığacaq.

Çıxış

Hər məlumat dəstəsi üçün bir çıxış sətri olmalıdır. Həmin sətirdə əvvəlcə məlumat dəstəsinin nömrəsi, sonra bir boşluq və daha sonra qonşu bit sayı -yə bərabər olan -bitlik sətirlərin sayı çap edilməlidir.

Nümunələr

Nümunə 1

Loading
Loading