Pagini recente » Cod sursa (job #687239) | Cod sursa (job #1607219) | Cod sursa (job #58152) | Cod sursa (job #2887548) | Cod sursa (job #1107960)
#include<fstream>
using namespace std;
typedef int stiva;
ifstream f("dfs.in");
ofstream g("dfs.out");
int m,n,a[20][20];
stiva st[20];
void initializare()
{
f>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=0;
}
void citire()
{
f>>m;
int i,j;
for(int l=1;l<=m;l++)
{
f>>i>>j;
a[i][j]=a[j][i]=1;
}
}
void parcurgere()
{
int viz[20],vf,c,pi,ps;
vf=1;
for(int i=1;i<=n;i++)
viz[i]=0;
viz[vf]=1;
pi=ps=1;
st[pi]=vf;
while(pi<=ps)
{
c=st[pi];
for(int j=1;j<=n;j++)
if(a[c][j]==1&&viz[j]==0)
{
viz[j]=1;
st[++ps]=j;
}
pi++;
}
}
int afisare()
{
int nr=0;
for(int i=1;i<=n;i++)
if(st[i]!=0)
nr++;
return nr;
}
int main()
{
initializare();
citire();
parcurgere();
int x=afisare();
g<<x;
return 0;
}