Pagini recente » Cod sursa (job #2365321) | Cod sursa (job #664918) | Cod sursa (job #1681177) | Cod sursa (job #2492395) | Cod sursa (job #1041229)
#include <fstream>
#include <vector>
using namespace std;
vector <int> v[100001];
bool viz[100001];
int N;
inline void Read()
{
int i,M,X,Y;
ifstream fin("dfs.in");
fin>>N>>M;
for(i=1;i<=M;i++)
{
fin>>X>>Y;
v[X].push_back(Y);
v[Y].push_back(X);
}
fin.close();
}
inline void Dfs(int k)
{
int i,len;
viz[k]=true;
len=v[k].size();
for(i=0;i<len;i++)
if(!viz[v[k][i]])
Dfs(v[k][i]);
}
inline int NrCompConexe()
{
int i,cnt=0;
for(i=1;i<=N;i++)
if(!viz[i])
{
cnt++;
Dfs(i);
}
return cnt;
}
int main()
{
Read();
ofstream fout("dfs.out");
fout<<NrCompConexe()<<"\n";
fout.close();
return 0;
}