Cod sursa(job #2426261)

Utilizator AlexutAlex Calinescu Alexut Data 27 mai 2019 09:27:28
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <queue>
#include <vector>
using namespace std;

ifstream fin ("dfs.in");
ofstream fout ("dfs.out");

queue<int>q;
int viz[100005];
vector<int>vecini[100005];
int i;
void dfs(int nod,int cnt)
{
    viz[nod]=cnt;
    for(i=0;i<vecini[nod].size();i++)
        if(viz[vecini[nod][i]]==0)
            dfs(vecini[nod][i],cnt);
}
int main()
{
 int n,m,s;
 fin>>n>>m;
 int x,y;
 for(i=1;i<=m;i++)
 {
     fin>>x>>y;
     vecini[x].push_back(y);
     vecini[y].push_back(x);
 }
 int cnt=0;
 for(i=1;i<=n;i++)
 {
     if(viz[i]==0)
     {
         cnt++;
         dfs(i,cnt);
     }
 }
 fout<<cnt;


}