Pagini recente » Cod sursa (job #3286809) | Cod sursa (job #1354986) | Cod sursa (job #622350) | Cod sursa (job #2216998) | Cod sursa (job #613982)
Cod sursa(job #613982)
#include <fstream>
#include <vector>
using namespace std;
typedef vector<int> VI;
typedef VI::iterator IT;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
VI g[100000];
char s[100000];
int n, m;
void DFS(int nod);
int main()
{
int a, b;
int nrc = 0;
fin >> n >> m;
while ( fin >> a >> b )
{
g[a].push_back(b);
g[b].push_back(a);
}
for ( int i = 0; i < n; ++i )
if ( s[i] == 0 )
{
nrc++;
DFS(i);
}
fout << nrc;
return 0;
}
void DFS(int nod)
{
s[nod] = 1;
for ( IT it = g[nod].begin(); it != g[nod].end(); ++it )
if ( s[*it] == 0 )
DFS(*it);
}