Pagini recente » Cod sursa (job #880508) | Cod sursa (job #1837395) | Cod sursa (job #551748) | Cod sursa (job #1957528) | Cod sursa (job #2041943)
#include <vector>
#include <fstream>
#include <queue>
#include <bitset>
using namespace std ;
const int MAX = 1e5 + 14 ;
bitset <MAX> viz ;
vector < vector<int> > gr (MAX + 1);
void dfs (int nod) {
viz [nod] = 1 ;
for (auto &x : gr [nod]) {
if (viz [x] == 0) dfs (x) ;
}
}
int main(int argc, char const *argv[])
{
ifstream cin ("dfs.in") ;
ofstream cout ("dfs.out") ;
int n, m, source ;
cin >> n >> m >> source ;
while (m --) {
int x, y ;
cin >> x >> y ;
gr [x].push_back (y) ;
gr [y].push_back (x) ;
}
int cate = 0 ;
for (int i = 1 ; i <= n ; ++ i) {
if (viz [i]) continue ;
cate += 1 ;
dfs (i) ;
}
cout << cate ;
return 0;
}