Artıq qabırğalar
Gəlin n zirvədən və m istiqamətli kənardan ibarət olan istiqamətli qraf G-yə baxaq. Zirvələr 1-dən n-ə qədər nömrələnib, kənarlar isə 1-dən m-ə qədər nömrələnib. Hər hansı bir zirvəni r başlanğıc zirvə kimi seçək və kənarlar boyunca hərəkət edərək r-dən əldə edilə bilən bütün zirvələri tapaq (bu çoxluğu C[0]
kimi təyin edək). C(e) çoxluğunu e nömrəli bir kənar istisna olmaqla, r-dən kənarlar boyunca əldə edilə bilən bütün zirvələr çoxluğu kimi təyin edək. e kənarı artıq adlanır, əgər C(e) C[0]
-a bərabərdirsə.
Qraf G və başlanğıc zirvə r verilir. Bütün artıq kənarları tapın.
Giriş Məlumatları
Birinci sətir n, m və r (1 ≤ n ≤ 100000, 1 ≤ m ≤ 200000, 1 ≤ r ≤ n) üç ədədini ehtiva edir: zirvələrin sayı, kənarların sayı və başlanğıc zirvə. Növbəti m sətir qrafın kənarlarını təsvir edir: onların i-ci sətiri a[i]
və b[i]
(1 ≤ a[i]
, b[i]
≤ n) iki ədədini ehtiva edir ki, bu da a[i]
zirvəsindən b[i]
zirvəsinə istiqamətli kənarı təyin edir. Dairələrin olmadığı və hər hansı iki zirvə u və v üçün u-dan v-yə ən çox bir kənarın mövcud olduğu təmin edilir.
Çıxış Məlumatları
Birinci sətirdə artıq kənarların sayını çıxarın. İkinci sətirdə bütün artıq kənarların nömrələrini istənilən ardıcıllıqla çıxarın. Kənarlar girişdəki ardıcıllığa uyğun olaraq 1-dən başlayır.