XORanges
Жанез portağalları çox sevir! Buna görə də o, portağalları skan etmək üçün bir cihaz hazırlayıb. Kamera və Raspberry Pi 3b+ kompüteri vasitəsilə o, portağalların 3D şəkillərini yaratmağa başlayıb. Onun şəkil prosessoru çox güclü deyil, buna görə də o, yalnız qabığın üzərindəki deşiklər haqqında məlumat verən bitlik tam ədəd alır. Bu bitlik tam ədəd , rəqəmdən (bitdən) ibarət ardıcıllıq şəklində təqdim olunur, hər biri ya bir, ya da sıfırdır. Əgər -dan başlasaq, hər bir -ci biti bir olan üçün əlavə edərək ədəd əldə edə bilərik. Daha dəqiq desək, ardıcıllığı şəklində təqdim olunur, burada . Məsələn, kimi təqdim olunur.
Жанез portağalı skan etdi; lakin bəzən o, proqramınızın icrası zamanı bir portağalı (-ci portağalı) yenidən skan etməyə qərar verir. Bu o deməkdir ki, bu skanlamadan başlayaraq o, -ci portağal üçün yenilənmiş dəyəri istifadə edir.
Жанез bu portağalları təhlil etmək istəyir. O, XOR (eksklüziv VƏ YA) əməliyyatını çox maraqlı hesab edir, buna görə də bəzi hesablamalar aparmağa qərar verir. O, -dən -ya qədər portağalların bir aralığını seçir (burada ) və bu aralıqdakı bütün elementlərin, bu aralıqdakı ardıcıl elementlərin bütün cütlərinin, ardıcıl elementdən ibarət bütün ardıcıllıqların və s., ardıcıl elementdən ibarət ardıcıllığa (aralıqdakı bütün elementlərə) qədər olan XOR dəyərini bilmək istəyir.
Əgər və -dürsə və skan edilmiş dəyərlərdən ibarət massivimiz varsa, proqram dəyərini qaytarmalıdır, burada XOR əməliyyatını təmsil edir və massivindəki -ci elementi təmsil edir.
XOR əməliyyatını belə təyin edək:
Əgər birinci dəyərin -ci biti ikinci dəyərin -ci biti ilə üst-üstə düşürsə, nəticənin -ci biti -a bərabərdir;
Əgər birinci dəyərin -ci biti ikinci dəyərin -ci bitindən fərqlidirsə, nəticənin -ci biti -ə bərabərdir.
Məsələn, .
Giriş verilənləri
Birinci sətirdə və iki müsbət tam ədəd var (ümumi yenidən skan etmə və sorğu — əməliyyatlar sayı).
Növbəti sətirdə qeyri-mənfi tam ədəd var, bu ədədlər massivinin dəyərlərini (portağalların skan nəticələrini) təmsil edir. elementi -ci portağal üçün dəyəri ehtiva edir. İndeks -dən başlayır.
Əməliyyatlar növbəti sətirdə üç müsbət tam ədəd ilə təsvir olunur.
Əgər əməliyyat tipi -dirsə (yenidən skan etmə), birinci tam ədəd -ə bərabərdir, sonra (Жанезin yenidən skan etmək istədiyi portağalın indeksi) və (yenidən skan edilmiş -ci portağalın nəticəsi) gəlir.
Əgər əməliyyat tipi -dirsə (sorğu), birinci tam ədəd -ə bərabərdir, sonra və gəlir.
Çıxış verilənləri
Hər bir sorğu üçün ayrı sətirdə bir tam ədəd çıxarın. Qeyd edək ki, çıxışın -ci sətiri -ci sorğunun nəticəsinə uyğun olmalıdır.
Nümunələr
Misal 1 üçün izah.
Əvvəlcə . Birinci sorğu bütün aralığı əhatə edir. Nəticə olacaq.
Sonra birinci portağalın dəyəri -ə yenilənir. Bu, eyni sorğu üçün nəticəni dəyişdirir (aralıqda ): .