Problem Müəllifi: | AlKaosar Hussain |
Hazırlayan: | AlKaosar Hussain |
Redaktə edən: | Hasan Saleh (MathModel) |
Həll
Funksiya ans = a_1 ilə başlayır.
Hər növbəti addım
edir.
Bitwise AND yalnız bitləri silə bilər, heç vaxt əlavə edə bilməz.
Buna görə də, son dəyər heç vaxt -dən çox ola bilməz.
Beləliklə, əgər f(p) = k istəyiriksə, onda ən sadə və təhlükəsiz seçim: a_1 = k-dır.
Bir dəfə -ya çevrildikdə, sadəcə onun bitlərini silməkdən qaçmalıyıq.
Qalan mövqelər üçün, a_1-in OR-u ilə bütün ədədləri etdiyimiz üçün 10^{18}-dən kiçik olan istənilən fərqli tam ədədləri seçin
və sonunda onları AND edərək -ya sahib oluruq, beləliklə cavab ilə başlayan və fərqli dəyərlərə sahib olan istənilən ardıcıllıqdır.
Komplekslik .
for _ in range(int(input())):
n,k=map(int,input().split())
ans=[k]
cur=1
while(len(ans)<n):
if(cur!=k):
ans.append(cur)
cur+=1
print(*ans)