Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-02-29 10:31:35.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:flux1.in, flux1.outSursă
AutorAutor necunoscutAdăugată defireatmyselfBogdan-Alexandru Stoica fireatmyself
Timp execuţie pe test1.25 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Flux Maxim

Feedback astronomy: Fa enuntul clar, pune clar exact definitiile de la flux, adica pentru fiecare muchie sa se gaseasca F(u,v) <= C(u,v) astfel incat sa se respecte proprietatea aia cu suma fluxurilor care ies egala cu suma care intra, ca in nodul sursa nu intra nici o muchie etc.

Se da un graf orientat cu N noduri si M muchii, fiecare muchie avand o capacitate data. Se cere sa se determine fluxul maxim de la nodul 1 (sursa) la nodul N (destinatie).

Date de intrare

Pe prima linie a fisierul de intrare flux1.in se afla N si M. Urmeaza apoi M linii ce contin 3 numere naturale a, b si c, semnificand faptul ca exista muchie de la nodul a la nodul b avand capacitatea c.

Date de iesire

In fisierul de iesire flux1.out se va scrie fluxul maxim.

Restrictii

  • 1 ≤ N ≤ 50
  • 1 ≤ N ≤ 1225
  • capacitatea fiecarei tevi este un numar natural nenul mai mic sau egal cu 150.
  • daca in fisier exista muchia (a, b), cu siguranta nu va exista si muchia (b,a)
  • fluxul maxim va fi ≤ 2 000 000 000

Exemplu

flux1.influx1.out
6 12
1 2 6
1 3 3
3 4 5
4 5 4
5 6 4
3 6 100
2 4 3
1 5 4
1 3 6
4 6 5
2 3 5
3 6 4
13

Indicatii de rezolvare

Problema se rezolva cu ajutorul algoritmului Ford Fulkerson, care are urmatorii pasi.

  1. se cauta un drum de la sursa (in cazul nostru, nodul 1) la destinatie (in cazul nostru N) cu orice algoritm (bfs, dfs, etc.).
  2. de pe acest drum se alege muchia de capacitate minima (fie ea i)
  3. din fiecare muchie a drumului ales se scade capacitatea c~i~ (astfel muchia i va avea capacitatea 0 si poate fi ignorata la urmatorii pasi)
  4. se creste fluxul cu c~i~ si se repeta de la pasul 1
  5. algoritmul se repeta de la pasul 1

Feedback Cosmin: pune n mare sa se poata implementa si dinic. Ar trebui ceruta eventual si taietura minima, ca multi nu stiu gasi taietura dupa ce au determinat fluxul maxim.

Probleme asemanatoare

infoarena - Trafic

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?