Pagini recente » Cod sursa (job #678981) | album2 | infoarena - comunitate informatica, concursuri de programare | album2 | Cod sursa (job #666985)
Cod sursa(job #666985)
#include <vector>
using namespace std;
#define MAXN 100100
int N, M, nrcon;
vector<int> G[MAXN];
int viz[MAXN];
void dfs(int x)
{
viz[x] = 1;
for(int i = 0; i < G[x].size(); i++)
if(!viz[G[x][i]])
dfs(G[x][i]);
}
int main(void)
{
freopen("dfs.in", "rt", stdin);
freopen("dfs.out", "wt", stdout);
scanf("%d%d", &N, &M);
for(int i = 1; i <= M; i++)
{
int a, b;
scanf("%d%d", &a, &b);
G[a].push_back(b);
G[b].push_back(a);
}
for(int i = 1; i <= N; i++)
{
if(!viz[i])
nrcon++, dfs(i);
}
printf("%d\n", nrcon);
fclose(stdin);
fclose(stdout);
return 0;
}