Pagini recente » Cod sursa (job #460784) | Cod sursa (job #2393561) | Cod sursa (job #259221) | Cod sursa (job #1300583) | Cod sursa (job #1650942)
#include <fstream>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
int m,n,viz[44000],nr,x,y;
char a[44000][44000];
void DFS(int i)
{
viz[i]=1;
for(int k=1;k<=n;k++)
if(!viz[k]&&a[i][k]=='1') DFS(k);
}
int main()
{
fin>>n>>m;
for(int i=1;i<=m;i++) {fin>>x>>y;a[x][y]=a[y][x]='1';}
for(int i=1;i<=n;i++)
if(!viz[i]) {DFS(i);nr++;}
fout<<nr;
return 0;
}