рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ рдореИрдВ рдПрдХ
рд▓реЗрдЦ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдерд╛ рдХрд┐ рдХреИрд╕реЗ рдорд╛рдЗрдХрд▓ рдХреЛрдЬрд╝рдХреЛрд╡ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд▓рдЧрднрдЧ рдЕрдкрдиреЗ рд╢реБрджреНрдз рд░реВрдк рдореЗрдВ рд╕рдмрд╕реЗ рдорд╛рдирдХ рдЧреНрд░рд╛рдл рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ, рджрд┐рдЬреНрдХреНрд╕реНрдЯреНрд░рд╛ рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдоред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреБрдЫ рдЬрдЯрд┐рд▓ рд░реВрдк рдореЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рджрд┐рдХреНрдХреНрд╕реНрдЯреНрд░рд╛ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдмрддрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдХреЛрдИ рднреА, рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ, рдХреГрдкрдпрд╛, рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИред
рдкрд┐рдЫрд▓реЗ рдЪрдХреНрд░ рд▓реЗрдЦ
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдПрд▓реНрдЧреЛрд░рд┐рджрдо
рдбреАрдПрдлрдПрд╕ ,
рдмреАрдПрдлрдПрд╕ рдФрд░
рдлреЛрд░реНрдб-рдмреЗрд▓рдореИрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдлреЛрд░реНрдб-рдмреЗрд▓рдореИрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рди рд╣реИ: рд╕рднреА рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП рднрд╛рд░рд┐рдд рдЧреНрд░рд╛рдл (рдкреНрд░рд╛рд░рдВрднрд┐рдХ) рдХреЗ рдЪрдпрдирд┐рдд рд╢реАрд░реНрд╖ рд╕реЗ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдЕрдм рд╕рднреА рдХрд┐рдирд╛рд░реЛрдВ рдХрд╛ рд╡рдЬрди рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИред
рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╡рд┐рд╡рд░рдг

рд╣рдо рд╕рднреА рдЫреЛрд░реЛрдВ рдХреЛ рджреЛ рд╕реЗрдЯреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд╕рд╛рдзрд┐рдд рдФрд░ рдЕрднреА рддрдХ рдирд╣реАрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╕рднреА рдХреЛрдиреЗ рдЕрд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдПрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдХреЛрдиреЗ рдХреА рджреВрд░реА рдЕрдирдВрдд рд╣реИрдВ, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢реАрд░реНрд╖ рдХреА рджреВрд░реА 0 рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░, рдЕрд╕рдВрд╕рд╛рдзрд┐рдд рдХреЛрдиреЗ рдХреЗ рд╕реЗрдЯ рд╕реЗ, рдПрдХ рдиреНрдпреВрдирддрдо рджреВрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╢реАрд░реНрд╖ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЗрд╕рд╕реЗ рдирд┐рдХрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЖрд░рд╛рдо рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╢реАрд░реНрд╖ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЧрдП рд╢реАрд░реНрд╖реЛрдВ рдХреЗ рд╕реЗрдЯ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдПрдЬ (рдпреВ, рд╡реА) рдХреА рдЫреВрдЯ, рдЬреИрд╕рд╛ рдХрд┐ рдлреЛрд░реНрдб-рдмреЗрд▓рдореИрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рд╣реИ, рдбрд┐рд╕реНрдЯ [рд╡реА] = рдорд┐рдирдЯ (рдбрд┐рд╕реНрдЯ [рд╡реА], рдбрд┐рд╕реНрдЯ [рдпреВ] + рдбрдмреНрд▓реНрдпреВ [рдпреВ, рд╡реА]), рдЬрд╣рд╛рдВ рдбрд┐рд╕реНрдЯ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИред v] рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд░реНрдЯреЗрдХреНрд╕ рд╕реЗ рд╡рд░реНрдЯреЗрдХреНрд╕ v рдХреА рджреВрд░реА рд╣реИ, рдФрд░ w [u, v] u рд╕реЗ v рддрдХ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдХрд╛ рд╡рдЬрди рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рджрд┐рдЬреНрдХреНрд╕реНрдЯреНрд░рд╛ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд░рд▓рддрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЖрдкрдХреЛ рдиреНрдпреВрдирддрдо рджреВрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╢реАрд░реНрд╖ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рднреА рдХреЛрдиреЗ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рддрдВрдЧ рд░реЗрдЦрд╛рдВрдХрди рдореЗрдВ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ рдХреБрдЫ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреВрд░рд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ std :: set рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛, рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреИрд╕реЗ std рдореЗрдВ рдПрдХ рддрддреНрд╡ рдХреЛ рдмрджрд▓рдирд╛ рд╣реИ :: рдкреНрд░рд╛рдердорд┐рдХрддрд╛_рдХрд░рдирд╛ =)
рдореИрдВ рдпрд╣ рднреА рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЧреНрд░рд╛рдл рдХреЛ рд╡реЗрдХреНрдЯрд░ <рд╡реЗрдХреНрдЯрд░ <рдЬреЛрдбрд╝реА <int, int >>> рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдХрд┐рдирд╛рд░реЛрдВ [v] рд╕рднреА рдХрд┐рдирд╛рд░реЛрдВ рдХрд╛ рд╡реЗрдХреНрдЯрд░ рд╣реИ, рдЬреЛ рд╢реАрд░реНрд╖ v рд╕реЗ рдирд┐рдХрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд┐рдирд╛рд░реЗ рдХрд╛ рдкрд╣рд▓рд╛ рдХреНрд╖реЗрддреНрд░ рдЕрдВрддрд┐рдо рд╢реАрд░реНрд╖ рдФрд░ рджреВрд╕рд░реЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рд╡рдЬрдиред
рдбрд┐рдЬреНрдХрд╕реНрдЯреНрд░рд╛void Dijkstra(int v) { // int n = (int)edges.size(); dist.assign(n, INF); dist[v] = 0; set<pair<int, int> > q; for (int i = 0; i < n; ++i) { q.insert(make_pair(dist[i], i)); } // - while (!q.empty()) { // pair<int, int> cur = *q.begin(); q.erase(q.begin()); // for (int i = 0; i < (int)edges[cur.second].size(); ++i) { // if (dist[edges[cur.second][i].first] > cur.first + edges[cur.second][i].second) { q.erase(make_pair(dist[edges[cur.second][i].first], edges[cur.second][i].first)); dist[edges[cur.second][i].first] = cur.first + edges[cur.second][i].second; q.insert(make_pair(dist[edges[cur.second][i].first], edges[cur.second][i].first)); } } } }
рд╢реБрджреНрдзрддрд╛ рдХрд╛ рдкреНрд░рдорд╛рдг
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╡рд░реНрдЯреЗрдХреНрд╕ рдпреВ рд╕реЗ рдПрдХ рдЧреНрд░рд╛рдл рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХреБрдЫ рдХреЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд▓рдд рджреВрд░реА рдорд╛рди рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ v рдЗрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ рд╡рд░реНрдЬрди рд╣реИ (рдЬрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛрдиреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ рдЙрд╕ рдХреНрд░рдо рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рд░)ред рдЖрдЗрдП рдЙрд╕рдХреЗ рдкреВрд░реНрд╡рдЬ рдХреЛ рдпреВ рд╕реЗ v рддрдХ рдХреЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдорд╛рд░реНрдЧ рдореЗрдВ рд░рдЦреЗрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ w рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдзрд╛рд░рдгрд╛ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ
- рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдбрд┐рд╕реНрдЯ '[w] <dist [v] рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрдм рд╣рдо рдХрд┐рдирд╛рд░реЗ рдХреЗ рдЕрдВрддрд┐рдо рд╡рд┐рд╢реНрд░рд╛рдо рдХреЛ v: (s, v) рдорд╛рдирддреЗ рд╣реИрдВред S рдХреА рджреВрд░реА рдХреА рд╕рд╣реА рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереА, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпреВ рд╕реЗ рд▓реЗрдХрд░ рд╡реА рдбрд┐рд╕реНрдЯреЗрдВрд╕ [s] + w [s, v] = dist '[v] <dist [v] рддрдХ рдПрдХ рдкрде рдореМрдЬреВрдж рд╣реИред рд╕рдВрдШрд░реНрд╖
- рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдбрд┐рд╕реНрдЯ '[w]> рдбрд┐рд╕реНрдЯ [рд╡реА] рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрдм рд╣рдо рд╡рд░реНрдЯреЗрдХреНрд╕ рдбрдмреНрд▓реНрдпреВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдХреНрд╖рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдХреНрд╖рдг рдореЗрдВ, рдХрд┐рдирд╛рд░реЗ (w, v) рдХреЛ рдЖрд░рд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░, рддрджрдиреБрд╕рд╛рд░, рд╡рд░реНрдЯреЗрдХреНрд╕ v рдХреА рджреВрд░реА рдХрд╛ рд╡рд░реНрддрдорд╛рди рдЕрдиреБрдорд╛рди dist [v] рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛ рдЧрдпрд╛, рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд░рд╛рдо рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдХрдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛ред рд╕рдВрдШрд░реНрд╖
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рднрд╛рд░ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдереЗ, рддреЛ рд╡рд░реНрдЯреЗрдХреНрд╕ рдбрдмреНрд▓реНрдпреВ рдХреЛ рдмрд╛рдж рдореЗрдВ рд╡рд░реНрдЯреЗрдХреНрд╕ v рд╕реЗ рдмрд╛рд╣рд░ рдереВрдХ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрд░рдорд╢рдГ, рдХрд┐рдирд╛рд░реЗ (w, v) рдХреЛ рдЖрд░рд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдбреАрдЬрдХрд╕реНрдЯреНрд░рд╛ рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗрд╡рд▓ рдирдХрд╛рд░рд╛рддреНрдордХ рд╡рдЬрди рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛
рдХреЛрдиреЗ рдХреЛ рдХреБрдЫ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдордирдорд╛рдирд╛ рддрддреНрд╡ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рдиреНрдпреВрдирддрдо рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдХреЛ рдПрдХ рдмрд╛рд░ рдмрд┐рд▓реНрдХреБрд▓ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдУ (рд╡реА) рдЕрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рдирд╛рд░реЗ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдПрдХ рддрддреНрд╡ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдУ (рдИ) рдкрд░рд┐рд╡рд░реНрддрдиред
рдпрджрд┐ рдХреЛрдиреЗ рдПрдХ рд╕рд░рд▓ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд░реИрдЦрд┐рдХ рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреНрдпреВрдирддрдо рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджрд┐рдХреНрдЬрд╕реНрдЯреНрд░рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рд╣реЗ (V * V + E) = O (V┬▓) рд╣реИред
рдпрджрд┐ рд╣рдо рдмрд╛рдЗрдирд░реА рд╣реАрдк (рдпрд╛ рд╕реЗрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдУ (рд╡реА рд▓реЙрдЧ рд╡реА + рдИ рд▓реЙрдЧ рдИ) = рдУ (рдИ рд▓реЙрдЧ рд╡реА) рдорд┐рд▓рддрд╛ рд╣реИред
рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкрдВрдХреНрддрд┐ рдХреЛ рдлрд┐рдмреЛрдирд╛рдЪреА рдвреЗрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЬрдЯрд┐рд▓рддрд╛ рдУ (рд╡реА рд▓реЙрдЧ рд╡реА + рдИ) рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдЗрдВрдЯрд░рд╡реНрдпреВ рд▓реЗрдиреЗ рдХрд╛ рдХреНрдпрд╛ рдХрд╛рдо рд╣реИ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ?
рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд╕реЗ рдХрд╛рд░реНрдп рд╕реНрд╡рдпрдВ рд╣рд▓ рдХрд░рдирд╛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдЬрдЯрд┐рд▓ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред рд▓реЗрдЦ рдХреЛ рдЖрдЧреЗ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк
рдореВрд▓ рд╕рдорд╕реНрдпрд╛ рдХрдерди рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВ
рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд╕реЗ рдирдпрд╛ рдХрд╛рд░реНрдп рд╕реЗрдЯрд┐рдВрдЧ
- рд╣рдо рдХрд╛рд░реНрдп рдХреЛ "рдПрдХ рдЖрдпрд╛рдореА" рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд╕реЗ рдмреБрд▓рд╛рдПрдВрдЧреЗред рдлрд┐рд░ k- рдЖрдпрд╛рдореА рдПрдирд╛рд▓реЙрдЧ рдореЗрдВ k рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЙрд▓рдо рд╣реЛрдВрдЧреЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдКрдВрдЪрд╛рдИ рдЬреНрдЮрд╛рдд рд╣реИред рдкрд╛рдиреА рдПрдХ рд╕реНрддрдВрдн рд╕реЗ рдирд┐рдЪрд▓реА рдКрдБрдЪрд╛рдИ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдпрд╛ рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдирд┐рдХрд▓ рд╕рдХрддрд╛ рд╣реИред
- "рдЖрд╕рдиреНрди рдкреЛрд╕реНрдЯ" рдХреНрдпрд╛ рд╣реИрдВ? рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдореЗрдВ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреА рдЕрдкрдиреА рд╕реВрдЪреА рд╣реИ, рдЬреЛ рднреА рд╣реЛред рдпрд╣ рдкреВрд░реЗ рдирдХреНрд╢реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдкрд╛рдЗрдк рд╕реЗ рджреВрд╕рд░реЗ рдХреЙрд▓рдо рд╕реЗ рдЬреБрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ "рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рдЖрд╕рдиреНрди" рдмрд╛рдбрд╝ рджреНрд╡рд╛рд░рд╛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
- рдЬрдореАрди рдХреНрдпрд╛ рд╣реИ? рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдЕрд▓рдЧ рдлрд╝реАрд▓реНрдб рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЪрд░рдо рд╣реИред рд╢рд╛рдпрдж рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЦреЗрдд рдХреЗ рдмреАрдЪ рдореЗрдВ рдПрдХ рдЫреЗрдж рд╣реИ?
рдЕрдм рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдУ рд╣реЛрдЧреА (рдПрди рд▓реЙрдЧ рдПрди)
рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЧреНрд░рд╛рдл рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:
- рдХреЛрдиреЗ рд╕реНрддрдВрдн рд╣реЛрдВрдЧреЗ (рдФрд░ "рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдкрд░реЗ" рд╕реНрдерд┐рдд рдПрдХ рдФрд░ рдбрдореА рд╡рд░реНрдЯреЗрдХреНрд╕)ред
- рджреЛ рдХреЛрдиреЗ рдПрдХ рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рд╣рдорд╛рд░реА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╡реЗ рдЖрд╕рдиреНрди рд╣реИрдВ (рдпрд╛ рдпрджрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛрдиреЗ "рдмрдврд╝рдд" рд╣реИ, рддреЛ рджреВрд╕рд░рд╛ рдЪрд░рдо рд╕реНрддрдВрдн рд╣реИ)
- рдкрд╕рд▓реА рдХрд╛ рд╡рдЬрди рджреЛ рд╕реНрддрдВрднреЛрдВ рдХреА рдКрдБрдЪрд╛рдИ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рдЗрд╕ рддрд░рд╣ рдХреЗ "рдкреЗрдЪреАрджрд╛" рдЧреНрд░рд╛рдл рдкрд░ рднреА, рджрд┐рдЬреНрдХреНрд╕реНрдЯреНрд░рд╛ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ, рд╣рдореЗрдВ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо "рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдкрде рдХреЗ рд╡рдЬрди" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдЕрдм рдпрд╣ рд╕рднреА рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╡рдЬрди рдХрд╛ рдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрдирдХреА рдЕрдзрд┐рдХрддрдоред рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд░реНрдЯреЗрдХреНрд╕ рдпреВ рд╕реЗ рд╡рд░реНрдЯреЗрдХреНрд╕ рд╡реА рддрдХ рдХреА рджреВрд░реА рдпреВ рдФрд░ рд╡реА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рднрд╛рд░ рдХреА рдиреНрдпреВрдирддрдо рд╣реИред
рдЕрдм рд╕рдм рдХреБрдЫ рдЬрдЧрд╣ рдореЗрдВ рдЧрд┐рд░рддрд╛ рд╣реИ: рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрдВрджреНрд░реАрдп рд╕реНрддрдВрдн рд╕реЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рдкрде (рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдкрд╛рдиреА рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛) рдХреЗ рд╕рд╛рде рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдкрде рдХреЗ рд╕реНрддрдВрднреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕реНрдерд┐рддрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ "рджреВрд░реА" рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рдПрдЧреАред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЙрд▓рдо рд╕реЗ "рдПрдЬ" (рдпрд╛, рдЪреВрдВрдХрд┐ рдЧреНрд░рд╛рдл рдЙрдиреНрдореБрдЦ рдирд╣реАрдВ рд╣реИ, "рдХрд┐рдирд╛рд░реЗ" рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЙрд▓рдо рддрдХ)ред рдпрд╣ рдХреЗрд╡рд▓ рджрд┐рдХреНрдЬрд╕реНрдЯреНрд░рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди void Dijkstra(int v) { // int n = (int)edges.size(); dist.assign(n, INF); dist[v] = 0; set<pair<int, int> > q; for (int i = 0; i > n; ++i) { q.insert(make_pair(dist[i], i)); } // - while (!q.empty()) { // pair<int, int> cur = *q.begin(); q.erase(q.begin()); // for (int i = 0; i < (int)edges[cur.second].size(); ++i) { // if (dist[edges[cur.second][i].first] > max(cur.first, edges[cur.second][i].second)) { q.erase(make_pair(dist[edges[cur.second][i].first], edges[cur.second][i].first)); dist[edges[cur.second][i].first] = max(cur.first, edges[cur.second][i].second); q.insert(make_pair(dist[edges[cur.second][i].first], edges[cur.second][i].first)); } } } }
рд▓реЗрдХрд┐рди рдпрд╣ рдореВрд▓ рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдард┐рди рдФрд░ рд▓рдВрдмрд╛ рд╣реИ! рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдХрд┐рд╕реЗ рд╣реИ!
рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдордиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рд╢рдмреНрджрд╛рдВрдХрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ рдерд╛, рддреЛ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдЕрд╕рдВрд╕рд╛рдзрд┐рдд рдХреЛрдиреЗ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рджреВрд░реА рдЕрдирдВрдд рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрдирдореЗрдВ рд╕реЗ рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореВрд▓ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдерд╛?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдп рджреАрдЬрдХрд╕реНрдЯреНрд░рд╛ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рдпрд╣ рджреЗрдиреЗ рд▓рд╛рдпрдХ рдерд╛ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рдиреАрдЪреЗ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рддреЛ рди рдЦреЛрд▓реЗрдВред
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рдардпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд░реЗрдЦрд╛рдВрдХрди рдореЗрдВ рдереЛрдбрд╝рд╛ рднреА рдкрд╛рд░рдВрдЧрдд рд╣реИ, рддреЛ рд╡рд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рджрд┐рдЬреНрдХреНрд╕реНрдЯреНрд░рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬрд╛рдирддрд╛ рд╣реИ - рд╡рд╣ рдкрд╣рд▓реЗ рдФрд░ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рджрд┐рдЬрд╛рдХрд╕реНрдЯреНрд░рд╛ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдкрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдкрд╛рдВрдЪ рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рджреЛ рдХреА рд╣рд╛рд▓рдд рдкрдврд╝рдиреЗ рдФрд░ рддреАрди рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рд╣реИред рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдбрд┐рдЬрд╛рдЗрдирд░ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдХреА рд░рд┐рдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ рдРрд╕рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЯреНрд╡рд┐рдЯрд░ рдПрдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ (рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдкрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ), рдФрд░ рдЖрд╡реЗрджрдХ рдХреЛ рдбреЗрд╡рд▓рдкрд░ рдХреА рд░рд┐рдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдПрдХ рдЧрд▓рдд рдЙрддреНрддрд░ рдХреЗ рдмрд╛рдж рдпрд╣ рдХрд╛рд░реНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдирдореНрд░рддрд╛рдкреВрд░реНрд╡рдХ рдЕрд▓рд╡рд┐рджрд╛ рдХрд╣рдиреЗ рд▓рд╛рдпрдХ рдерд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрд╛рд░реНрдп рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдореЗрд░реА рдкрддреНрдиреА, рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░ рдЕрдХрд╛рджрдореА рдХреЗ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░ рд╕рдВрдХрд╛рдп рдХреЗ рдПрдХ 4 рд╡рд░реНрд╖реАрдп рдЫрд╛рддреНрд░ рдиреЗ рд▓рдЧрднрдЧ рджрд╕ рдорд┐рдирдЯ рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╡рд╣ рд╢рд╛рдпрдж рд╣реА рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реИ =)
рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ: рдХрд╛рд░реНрдп рд╕реНрдорд╛рд░реНрдЯ рдХреЛ рдмреЗрд╡рдХреВрдл рдпрд╛ рдУрд▓рдВрдкрд┐рдпрд╛рдб рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдирд╡рдкрд▓реНрд▓реАрдирд┐рдВрджрд┐рдХреА рд╕реЗред рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдЧрд┐рдирддреА (+ рдЬреЛ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдирд╣реАрдВ рд╕реБрдирд╛ред
рдФрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░рдХрд░реНрддрд╛ рдХреЛ рдЖрд╡реЗрджрдХ рдХрд╛ рдзреНрдпрд╛рди рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреА рдУрд░ рдореЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред
рдкреБрдирд╢реНрдЪ
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓рд┐рдЦреА рд╣реИред рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдлреНрд▓реЙрдпрдб рдПрд▓реНрдЧреЛрд░рд┐рдердо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдкрде рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рд╛рд░рд╛рдВрд╢ рддрд╛рд▓рд┐рдХрд╛ рджреЗрдВред