İkitərəfli Axtarış Ağacının Qurulması#3326

İkitərəfli Axtarış Ağacının Qurulması

1 saniyə
64 meqabayt
Çətin

İkitərəfli Axtarış Ağacı (İAA) — kökü olan ikitərəfli ağacdır və aşağıdakı xüsusiyyətlərə malikdir:

Yeni düyün əlavə edilərkən aşağıdakı alqoritmdən istifadə olunur:

  1. Əgər ağac boşdursa, yeni düyün kök olur və əlavəetmə prosesi başa çatır. Əks halda, 2-ci addıma keçin.

  2. Cari düyün kimi ağacın kökünü təyin edin.

  3. Əgər yeni düyünün dəyəri cari düyünün dəyərindən kiçikdirsə:

    • Əgər cari düyünün sol alt ağacı boşdursa, yeni düyün cari düyünün sol övladı olur və alqoritm bitir.

    • Əks halda sol alt ağacın kökünü cari düyün kimi götürün və 3-cü addıma qayıdın.

  4. Əgər yeni düyünün dəyəri cari düyünün dəyərindən böyükdürsə:

    • Əgər cari düyünün sağ alt ağacı boşdursa, yeni düyün cari düyünün sağ övladı olur və alqoritm bitir.

    • Əks halda sağ alt ağacın kökünü cari düyün kimi götürün və 3-cü addıma qayıdın.

İAA-nın strukturu daxilolma ardıcıllığından asılıdır. Müxtəlif ardıcıllıqlar fərqli strukturlar yarada bilər, hətta ədədlər eyni olsa da.

1 2 3 ardıcıllığına baxaq. Aşağıdakı İAA yaranır:

Əgər daxilolma ardıcıllığı 2 1 3 olsa, belə bir ağac alınar:

Digər tərəfdən, müxtəlif daxilolma ardıcıllıqları eyni İAA strukturunu verə bilər. Məsələn, 2 1 3 ardıcıllığı ilə 4 6 2 ardıcıllığı eyni İAA strukturunu yaradacaq. O zaman ağac belə olacaq:

Verilmiş n düyün üçün, həmin İAA ilə eyni struktura malik neçə fərqli daxilolma ardıcıllığı mövcuddur? Düyün dəyərləri 1..m aralığından seçilir.

Giriş

Birinci sətirdə testlərin sayı t (t 100) verilir. Hər bir test iki tam ədəd — n və m (1 n m 1000), yəni İAA-da düyünlərin sayı və maksimal aralığın dəyəri ilə başlayır. Sonrakı sətirdə n tam ədəd a_i (1 a_i 1000) — İAA-nın qurulduğu ardıcıllıq verilir.

Çıxış

Hər bir test üçün çıxışa həmin İAA strukturunu verən neçə fərqli ardıcıllıq olduğunu çap edin. Dəyərlər 1..m aralığından götürülür. Cavabı 1000003 moduluna görə verin.

Qeyd: İkinci testə izah.

Eyni strukturu (dəyərlər 1..4 aralığından götürülmək şərtilə) verən 8 fərqli ardıcıllıq mövcuddur:

  1. 2 1 3

  2. 2 3 1

  3. 2 1 4

  4. 2 4 1

  5. 3 1 4

  6. 3 4 1

  7. 3 2 4

  8. 3 4 2

Nümunələr

Nümunə 1

Loading
Loading