Pagini recente » Cod sursa (job #2344631) | Cod sursa (job #691328) | Cod sursa (job #716729) | Cod sursa (job #1920074) | Cod sursa (job #2554619)
#include <iostream>
#include <fstream>
#include <vector>
#define DIM 100005
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
struct node{
int info;
node *next;
}*L[DIM];
int n,m;
bool used[DIM];
void add(int x, int y){
node *p = new node;
p->info = y;
p->next = L[x];
L[x] = p;
}
void citire(int &n, int &m){
f>>n>>m;
int x,y;
for(int i=1; i<=m; i++){
f>>x>>y;
add(x,y);
add(y,x);
}
}
void DFS(int nod){
used[nod] = 1;
for(node *p = L[nod]; p != NULL; p = p->next)
if(used[p->info] == 0)
DFS(p->info);
}
int main() {
citire(n,m);
int s=0;
for(int i=1; i<=n; i++)
if(used[i] == 0){
s++;
DFS(i);
}
g<<s;
}