Pagini recente » Cod sursa (job #2211197) | Cod sursa (job #1064534) | Cod sursa (job #2471082) | Cod sursa (job #2501838) | Cod sursa (job #1899458)
#include <bits/stdc++.h>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int x, y;
int n, m, i, counter;
stack<int> vecini;
int main()
{
f>>n>>m;
vector<list<int> >noduri(n+1);
vector<bool> vizitat(n+1);
for(i=1; i<=n; i++)
vizitat[i] = false;
for(i=1; i<=m; i++){
f>>x>>y;
noduri[x].push_back(y);
noduri[y].push_back(x);
}
vecini.push(1);
vizitat[1] = true;
while(!vecini.empty()){
int aux = vecini.top();
vecini.pop();
counter++;
for(int tmp : noduri[aux]){
if(vizitat[tmp]==false){
vizitat[tmp] = true;
vecini.push(tmp);
}
}
}
g<<counter;
return 0;
}