Məlumat bazası
Müəssisədə N işçi çalışır və onların arasında "rəhbər-tabe" əlaqələri olan M əlaqə mövcuddur. Bir işçinin bir neçə rəhbəri və tabeçiliyi ola bilər. Eyni işçidən başlayıb eyni işçidə bitən "rəhbər-tabe" əlaqələri ardıcıllığı mövcud deyil.
Korporativ məlumat bazasına giriş hüququ sistemlə tənzimlənir. Hər an üçün hər bir işçinin məlumat bazasına giriş hüququnun olub-olmadığı dəqiq bilinir. Məlumat bazası müəssisədə quraşdırıldıqda heç kimin ona giriş hüququ yox idi. Məlumat bazası ilə işləmə prosesində giriş hüquqları aşağıdakı əməliyyatlarla dəyişdirilirdi:
Administrator işçi X-ə hüquqlar verir.
Administrator işçi X-in hüquqlarını ləğv edir.
İşçi X bütün birbaşa tabeçiliyində olanlarla hüquqlarını paylaşmağa başlayır.
İşçi X bütün birbaşa tabeçiliyində olanlarla hüquqlarını paylaşmağa başlayır. Sonra işçi X-in hər bir birbaşa tabeçiliyində olan işçi üçün 4 əməliyyatı yerinə yetirilir.
İşçi X bütün birbaşa tabeçiliyində olanlarla hüquqlarını paylaşmağı dayandırır.
İşçi X korporativ məlumat bazasına giriş hüququna malikdir, əgər aşağıdakı şərtlərdən ən azı biri yerinə yetirilirsə:
Administratorun işçi X ilə bağlı son əməliyyatı ona hüquqlar vermək olub.
Hal-hazırda hüquqlara malik olan birbaşa rəhbərlərdən ən azı biri onunla giriş hüquqlarını paylaşır.
Diqqət yetirin. Əgər işçi öz tabeçiliyində olanlarla giriş hüquqlarını paylaşırsa və sonra onları itirirsə, o, yenə də tabeçiliyində olanlarla hüquqlarını paylaşmağa davam edir. Lakin onlar bu hüquqlardan istifadə edə bilməzlər, ta ki bu işçi yenidən giriş hüquqlarını əldə edənə qədər. (şərtin ikinci nümunəsinə baxın).
Verilən əməliyyat ardıcıllığına əsasən, hər bir işçinin əməliyyatlar ardıcıllığının icrasından sonra giriş hüququna malik olub-olmadığını müəyyən edən proqram yazın.
Verilən əməliyyat ardıcıllığı üçün belə məhdudiyyətlər yerinə yetirilir. Hər bir işçi üçün heç bir 1 və 2 əməliyyatı ardıcıl olaraq iki dəfə rast gəlinmir. İşçinin giriş hüququ olmadığı anda 3 və 4 əməliyyatları rast gəlinmir. İşçinin tabeçiliyində olanlarla hüquqlarını paylaşmadığı anda 5 əməliyyatı rast gəlinmir.
Giriş verilənləri
Birinci sətir müəssisədəki işçilərin sayı N (1 ≤ N ≤ 10000) və "rəhbər-tabe" əlaqələrinin sayı M (1 ≤ M ≤ 50000) olan iki tam ədəd ehtiva edir. Sonrakı M sətir hər biri iki təbii ədəd X və Y (1 ≤ X, Y ≤ N) ehtiva edir, bu da X-in Y-in birbaşa rəhbəri olduğunu göstərir. Növbəti sətir K (1 ≤ K ≤ 20000) - hüquqların dəyişdirilməsi əməliyyatlarının sayını ehtiva edir. Sonrakı K sətir hər biri iki təbii ədəd T və X (1 ≤ T ≤ 5, 1 ≤ X ≤ N) ehtiva edir - əməliyyatın növü və aid olduğu işçinin nömrəsi, müvafiq olaraq.
Çıxış verilənləri
Yeganə sətir N tam ədəd ehtiva etməlidir, boşluqlarla ayrılmış. i-ci ədəd 1 və ya 0 bərabərdir, əgər i-ci işçi verilmiş əmrlərin icrasından sonra giriş hüququna malikdirsə (1), yoxsa (0).
Nümunə 1 üçün izahlar
1-ci işçi administrator tərəfindən giriş hüququ alır.
1-ci işçi 2-ci və 3-cü işçilərlə giriş hüquqlarını paylaşmağa başlayır. Öz növbəsində, 2-ci 4-cü ilə, 3-cü isə 4-cü və 5-ci işçilərlə paylaşır.
2-ci işçi administrator tərəfindən giriş hüququ alır.
1-ci işçi 2-ci və 3-cü işçilərlə giriş hüquqlarını paylaşmağı dayandırır. Nəticədə, 3-cü işçi giriş hüquqlarını itirir, lakin 2-ci işçi itirmir, çünki o, administrator tərəfindən giriş hüququna malikdir. 4-cü işçi də giriş hüquqlarını itirmir, çünki 2-ci işçi giriş hüquqlarına malikdir və onunla paylaşır. 5-ci işçi hüquqlarını itirir, çünki 3-cü işçi onunla paylaşsa da, hal-hazırda hüquqlara malik deyil.
Nümunə 2 üçün izahlar
1-ci işçi administrator tərəfindən giriş hüququ alır.
1-ci işçi 2-ci işçi ilə giriş hüquqlarını paylaşmağa başlayır. 2-ci işçi hüquqlar alır, çünki 1-ci hüquqlara malikdir və onunla paylaşır.
Administrator 1-ci işçinin hüquqlarını ləğv edir. 2-ci işçi də hüquqlarını itirir, çünki 1-ci onunla paylaşsa da, hal-hazırda hüquqlara malik deyil.
1-ci işçi administrator tərəfindən giriş hüququ alır. 2-ci işçi hüquqlar alır, çünki 1-ci işçi hal-hazırda hüquqlara malikdir və onunla paylaşır.