Qrafın kəsilməsi#3728

Qrafın kəsilməsi

3 saniyə
128 meqabayt
Çox asan

Verilmiş istiqamətsiz qraf üzərində müəyyən ardıcıllıqla aşağıdakı iki tip əməliyyatlar yerinə yetirilir:

Məlumdur ki, bütün cut tipli əməliyyatlar yerinə yetirildikdən sonra qrafda qıraq qalmır. Hər bir ask tipli əməliyyatın nəticəsini tapın.

Giriş

Birinci sətir qrafın zirvələrinin sayı , qıraqların sayı və əməliyyatların sayı k~ (1 \le n \le 50000, 0 \le m \le 10^5, m \le k \le 150000) olmaqla, boşluqlarla ayrılmış üç tam ədəd ehtiva edir.

Növbəti sətir qrafın qıraqlarını təyin edir; bu sətirlərdən -ci iki ədəd u_i və v_i~(1 \le u_i, v_i \le n) ehtiva edir — i-ci qırağın uclarının nömrələri. Zirvələr birdən nömrələnir; qraf çoxlu qıraq və döngələr ehtiva etmir.

Daha sonra sətir əməliyyatları təsvir edir. cut tipli əməliyyat "cut u v" ~(1 \le u, v \le n) sətiri ilə təyin olunur, bu da qrafdan və zirvələri arasındakı qırağın silinməsi deməkdir. ask tipli əməliyyat "ask u v" ~(1 \le u, v \le n) sətiri ilə təyin olunur, bu da həmin anda və zirvələrinin eyni əlaqə komponentində olub-olmadığını öyrənmək deməkdir. Hər bir qraf qırağının cut tipli əməliyyatlarda dəqiq bir dəfə rast gəlindiyi təmin edilir.

Çıxış

Hər bir ask əməliyyatı üçün ayrıca sətirdə iki göstərilən zirvənin eyni əlaqə komponentində olub-olmadığını göstərən "YES" sözünü, əks halda isə "NO" sözünü çıxarın. Cavabların ardıcıllığı giriş məlumatlarındakı ask əməliyyatlarının ardıcıllığına uyğun olmalıdır.

Nümunələr

Nümunə 1

Loading
Loading