Problem Müəllifi: | De3b0o |
Hazırlayan: | De3b0o |
Redaktə edən: | Hasan Saleh (MathModel) |
Həll
Müşahidələr:
Maneələrdən keçmədən bir-birinə bağlı olan hüceyrələr əlaqəli komponentlər əmələ gətirir. Əgər başlanğıc və hədəf eyni komponentdədirsə, teleportasiya lazım deyil.
Bir teleportasiya cihazından artıq istifadə etmək heç vaxt optimal deyil.
Alqoritm:
Bütün əlaqəli komponentləri DFS/BFS ilə işarələ.
Hansı komponentlərdə teleportasiya cihazı olduğunu qeyd et.
Bütün teleportasiya cihazlarından eyni anda BFS başladaraq hər üçün ən yaxın cihazadək məsafəni hesabla.
Hər sorğu (x,y,b,c) üçün:
Əgər və eyni komponentdədirsə, cavab .
Əks halda, əgər hər ikisi teleportasiya cihazı olan komponentdədirsə, cavab .
Əks halda, çatmaq mümkün deyil, cavab .
Ümumi mürəkkəblik: \mathcal{O}(n \cdot m + q).