Cod sursa(job #1903020)

Utilizator nick12nicolae mihalache nick12 Data 4 martie 2017 22:19:23
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;



#define pp pair<int,int>
#define RRR ios_base::sync_with_stdio(false);cin.tie(0);

int vis[100001];
int n;
int m;
vector <int> ar[100001];
int c = 1;
void dfs(int s)
{


    if (vis[s] == 0)
    {

        vis[s] = 1;
       // cout << s << endl;
        c++;
        for (int i=0;i<ar[s].size();i++)
        {
            if (vis[i] == 0)
                dfs(ar[s][i]);
        }
    }

}
int main()
{
    RRR
    freopen("dfs.in","r",stdin);
    freopen("dfs.out","w",stdout);
    cin >> n;
    cin >> m;
    int s;
    for (int i=0;i<m;i++)
    {
        int a,b;
        cin >> a >> b;
        s = a;
        ar[a].push_back(b);
        ar[b].push_back(a);
    }
    dfs(s);
    cout << c<<endl;

    return 0;
}