Diferente pentru problema/dfs intre reviziile #1 si #22

Diferente intre titluri:

dfs
Parcurgere DFS - componente conexe

Diferente intre continut:

== include(page="template/taskheader" task_id="dfs") ==
Poveste si cerinta...
Se da un graf neorientat cu $N$ noduri si $M$ muchii.
 
h2. Cerinta
 
Sa se determine numarul componentelor conexe ale grafului.
h2. Date de intrare
Fisierul de intrare $dfs.in$ ...
Fisierul de intrare $dfs.in$ contine pe prima linie numerele $N$ si $M$ cu semnificatia din enunt, iar pe urmatoarele $M$ linii se gasesc cate doua numere $X$ si $Y$ cu semnificatia: exista muchie de la nodul $X$ la nodul $Y$.
h2. Date de iesire
In fisierul de iesire $dfs.out$ ...
In fisierul de iesire $dfs.out$ se va afisa numarul de componente conexe ale grafului.
h2. Restrictii
* $... ≤ ... ≤ ...$
* $1 ≤ N ≤ 100 000$
* $0 ≤ M ≤ minim(200 000, N*(N+1)/2)$
* Pentru 50% dintre teste $1 ≤ N ≤ 1 000$
h2. Exemplu
table(example). |_. dfs.in |_. dfs.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 6 3
1 2
1 4
3 5
| 3
|
h3. Explicatie
h2. Indicatii de rezolvare
...
Problema se rezolva prin parcurgeri DFS din fiecare nod nemarcat, si marcarea nodurilor in aceste parcurgeri. Algoritmul este explicat pe 'wikipedia':http://en.wikipedia.org/wiki/Depth-first_search si 'topcoder':http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=graphsDataStrucs2. O rezolvare care retine graful prin matricea de adiacenta va obtine doar 50 de puncte. Sursa bazata pe aceasta idee se gaseste 'aici':/infoarena.ro/job_detail/146224?action=view-source. O rezolvare care foloseste liste de vecini pentru retinerea grafului obtine 100 de puncte. Sursa ce obtine punctajul maxim e disponibila 'aici':/infoarena.ro/job_detail/153538?action=view-source.
== include(page="template/taskfooter" task_id="dfs") ==
 

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
2788