Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-02-29 06:47:59.
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

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 (bf, df, 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

Probleme asemanatoare

infoarena - Trafic

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?