Cod sursa(job #2221232)

Utilizator danielsociuSociu Daniel danielsociu Data 13 iulie 2018 15:07:03
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <vector>
std::ifstream cin("dfs.in");
std::ofstream cout("dfs.out");
#define maxn 100010
typedef std::vector<int>::iterator iter;
std::vector <int> g[maxn];
int viz[maxn],n,m,x;

void dfs(int x){
    viz[x]=1;
    for(iter it=g[x].begin();it!=g[x].end();it++)
        if(!viz[*it])
            dfs(*it);
}


int main()
{
    int x,y,ans=0;
    cin>>n>>m;
    while(cin>>x>>y)
        g[x].push_back(y);
    for(int i=1;i<=n;i++)
        if(!viz[i]){
            dfs(i);
            ans++;
        }
    cout<<ans;
    return 0;
}