Çox Darıxdırıcı Ev Tapşırığı#3089

Çox Darıxdırıcı Ev Tapşırığı

10 saniyə
64 meqabayt
Orta

Prof. Z düşünür ki, ev tapşırığını onun tələbələrinin əksəriyyəti üçün həll etmək çox çətindir (siz "Darixdirici ev tapşırığı" məsələsini xatırlayırsınızmı?). Onun təəccübünə görə, bir çox tələbə düzgün həllər təqdim edir. O, bunun məsələnin asan olmasına görə deyil, test məlumatlarının çox az olduğuna görə baş verdiyinə inanır. Buna görə, o, eyni tapşırığı yenidən verməyə qərar verir, lakin bu dəfə çox böyük test halları ilə. Təbii ki, tələbələri indi bu ev tapşırığını daha da darıxdırıcı hesab edirlər. Onların yenidən köməyinizə ehtiyacı var.

Keçən dəfə Prof. Z-nin verdiyi tapşırığı xatırlamayanlar üçün:

Sizdən ikili axtarış ağacının (BST) qrafikini çəkmək tələb olunur.

İkili axtarış ağacı (bəzən sıralı və ya qaydalı ikili ağac da adlanır) aşağıdakı xüsusiyyətlərə malik olan qovşaq əsaslı ikili ağac məlumat strukturu növüdür: Qovşağın sol alt ağacı yalnız qovşağın açarından kiçik açarlı qovşaqlardan ibarətdir. Qovşağın sağ alt ağacı isə yalnız qovşağın açarından böyük açarlı qovşaqlardan ibarətdir. Həm sol, həm də sağ alt ağaclar da ikili axtarış ağacı olmalıdır.

Verilmiş tam ədədlər siyahısını ardıcıllıqla boş bir BST-yə bir-bir daxil edin, nəticədə unikal bir BST yaranacaq. Prof. Z tələbələrdən bu BST-nin qrafikini çəkməyi istəyir.

BST-nin çəkilməsi qaydaları aşağıdakılardır:

  1. 1 qovşaqlı BST-nin qrafiki tək 'o' (15-ci kiçik latın hərfi) olur.

  2. Əgər BST-də boş olmayan alt ağac varsa, alt ağacın kökünün birbaşa yuxarısında bir dənə '|', onun üzərində isə bir dənə '+' çəkilir. '+' olan sətirdə, alt ağacın '+' (sol və ya sağ alt ağac üçün) qeydini və 'o'-nu (alt ağacların valideynini) birləşdirmək üçün mümkün olan ən az (bəzən 0) sayda '-' istifadə olunur.

  3. Sol alt ağac (əgər varsa) mütləq valideynin solunda çəkilməlidir. Eyni qayda ilə, sağ alt ağac (əgər varsa) valideynin sağında olmalıdır.

  4. BST-nin kökünün sütununda heç bir sol və ya sağ alt ağacın xarakteri olmamalıdır.

  5. BST-nin hər bir qovşağı üçün, onun sol və sağ alt ağaclarının qrafiklərində heç bir sütun bütün ağacın şəklində üst-üstə düşməməlidir.

Bütün BST çəkildikdən sonra, sətirlər yuxarıdan aşağıya 1-dən, sütunlar isə soldan sağa 1-dən nömrələnir.

Ağac çox böyük ola biləcəyi üçün, çəkilən şəkil Prof. Z üçün bütövlükdə baxış üçün çox böyük ola bilər. Buna görə, sizdən bütün şəkil əvəzinə yalnız fraqment təqdim etməyiniz tələb olunur.

Giriş

Birinci sətirdə — test hallarının sayı verilir. Bundan sonra test halı gəlir.

Hər bir test halı üçün:

  • Birinci sətirdə bir müsbət tam ədəd (N \leq 100000) verilir.

  • İkinci sətirdə fərqli tam ədəd verilir, hər biri 32-bit imzalı tam ədəd kimi təmsil oluna bilir. Bunları ardıcıllıqla boş BST-yə daxil edin.

  • Üçüncü sətirdə bir tam ədəd (M \leq 5) verilir.

  • Sonra sətir gəlir, hər biri ardıcıllıqla fraqmentin sol-yuxarı küncünün sətir və sütun nömrələri, və tələb olunan fraqmentin R_i sətiri və C_i sütunu olmaqla dörd tam ədəd ehtiva edir. Bütün giriş ədədləri müsbətdir və 32-bit imzalı tam ədəd aralığında yerləşir. R_i və C_i 200-dən böyük deyil və 0-dan böyükdür.

Çıxış

Hər test halı üçün:

Birinci sətirdə hala nömrəsini (1-dən başlayaraq) çap edin.

Sonra blok çap edin. Hər blokda R_i (və ya daha az, aşağıya baxın) sətir olmalıdır. Hər sətirdə dəqiq olaraq C_i simvol olmalıdır. Boş olan yerləri boşluq (ASCII ) ilə doldurun. Əgər sətir yalnız boşluqlardan ibarətdirsə, həmin sətri çıxarmayın.

Hər qrafik fraqmentindən sonra bir boş sətir verin.

Nümunələr

Nümunə 1

Loading
Loading