Pagini recente » Cod sursa (job #874518) | Cod sursa (job #1734640) | Cod sursa (job #359306) | Cod sursa (job #2029368) | Cod sursa (job #2001637)
#include<cstdio>
#include<vector>
using namespace std;
const int NMAX=100005;
int t[NMAX],d[NMAX],f[NMAX];
bool viz[NMAX];
vector <int> G[NMAX];
int n,time;
void DFS(int u){
viz[u]=1;
time++;
d[u]=time;
for(int j=0;j<G[u].size();j++){
int v=G[u][j];
if(!viz[v]){
t[v]=u;
DFS(v);
}
}
time++;
f[u]=time;
}
int main(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int m;
scanf("%d%d", &n, &m);
for(int i=1;i<=m;i++){
int x,y;
scanf("%d%d", &x, &y);
G[x].push_back(y);
G[y].push_back(x);
}
int sol=0;
for(int i=1;i<=n;i++)
if(!viz[i]){
sol++;
DFS(i);
}
printf("%d", sol);
return 0;
}