Pagini recente » Cod sursa (job #1344122) | Cod sursa (job #2338724) | Cod sursa (job #2529430) | Cod sursa (job #577057) | Cod sursa (job #1308504)
#include<fstream>
#include<vector>
using namespace std;
ifstream f("dfs.in"); ofstream g("dfs.out");
const int D=100001;
int n,m,nr,viz[D];
vector <int> L[D];
void read()
{ f>>n>>m;
for(int x,y,i=1;i<=m;i++) {f>>x>>y; L[x].push_back(y); L[y].push_back(x);}
}
void DF(int k)
{ viz[k]=1;
vector <int> :: iterator it=L[k].begin(), sf=L[k].end();
for(; it != sf ; ++it)
if(!viz[*it]) DF(*it);
}
void solve()
{ for(int i=1;i<=n;i++)
if(viz[i]==0) {nr++; DF(i);}
g<<nr; g.close();
}
int main()
{ read(); solve(); return 0; }