Pagini recente » Cod sursa (job #1630961) | Cod sursa (job #1737089) | Cod sursa (job #2647876) | Cod sursa (job #490353) | Cod sursa (job #2896887)
#include <iostream>
#include <fstream>
using namespace std;
#define DIM 200001
int culoare[DIM],n,m,u,v,ans;
pair<int,int> list[DIM];
bool lant=false;
void dfs(int nod){
if(culoare[nod]==0){
lant=true;
}
culoare[nod]=1;
for(int i=1;i<=m;i++){
if(list[i].first==nod && culoare[list[i].second]==0){
dfs(list[i].second);
}
else if(list[i].second==nod && culoare[list[i].first]==0){
dfs(list[i].first);
}
}
}
int main(){
ifstream fin("dfs.in");
ofstream fout("dfs.out");
fin>>n>>m;
for(int i=1;i<=m;i++){
fin>>u>>v;
list[i].first=u;
list[i].second=v;
}
for(int i=1;i<=n;i++){
lant=false;
dfs(i);
if(lant){
ans++;
}
}
fout<<ans;
}