Pagini recente » Cod sursa (job #3247343) | Cod sursa (job #3247530) | Cod sursa (job #3247328) | Cod sursa (job #2942625) | Cod sursa (job #1181958)
//Arbore partial de cost minim. Algoritmul Kruskal.
//Implementarea utilizind Matricea de Adiacenta.
#include <fstream>
using namespace std;
int A[10005][10005], viz[10005];
int n,m;
ifstream inFile("dfs.in");
ofstream outFile("dfs.out");
void Read()
{
//Citim Graful
//n - Numarul de noduri, variabila globala;
//m - Numarul de Arce Neorinetate, variabila globala;
//A[][] - Matricea de Adiacenta, variabila globala;
inFile >> n >> m;
int x,y;
for(int i=1; i<=m; i++){
inFile >> x >> y;
A[x][y]=A[y][x]=1;
}
}
void DFS(int i)
{
viz[i]=1;
for(int j=1;j<=n;j++){
if(A[i][j] && !viz[j]){
DFS(j);
}
}
}
int main()
{
Read();
int ct=0; //Numarul de Componente Conexe Distincte;
for(int i=1;i<=n;i++){
if(!viz[i]){
ct++;
DFS(i); //Incepem "sondarea" din nodul i;
}
}
outFile << ct;
return 0;
}