Pagini recente » Cod sursa (job #234644) | Cod sursa (job #491500) | Cod sursa (job #980595) | Cod sursa (job #2626387) | Cod sursa (job #2259285)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int a[102][102];
int n,k=0;
int v[102];
deque <int> q;
void solve(int x)
{
k++;
q.push_back(x);
int i,x1;
while(!q.empty())
{
x1=q.front();
q.pop_front();
v[x1]=k;
for(i=1;i<=n;i++)
{
if(a[x1][i]&&v[i]==0)
q.push_back(i);
}
}
for(i=1;i<=n;i++)
if(v[i]==0)
{
solve(i);
i=n+4;
}
}
int main()
{
f>>n;
int i,j;
while(f>>i>>j)
a[i][j]=a[j][i]=1;
solve(1);
g<<k;
return 0;
}