Pagini recente » Cod sursa (job #3126187) | Cod sursa (job #2281582) | Cod sursa (job #1743442) | Cod sursa (job #2715621) | Cod sursa (job #538442)
Cod sursa(job #538442)
#include <fstream.h>
#define NMAX 1000
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int Revista[NMAX][NMAX], teme, relatii, tema1, tema2, bun1, bun2, contor, i, j;
int main()
{
fin >> teme >> relatii;
for (i=1; i<=NMAX; i++)
Revista[0][i] =1;
for (relatii; relatii >0; relatii--)
{
fin >> tema1 >> tema2;
for (i=0; i<NMAX; i++)
if (Revista[i][tema1])
bun1 =i;
for (i=0; i<NMAX; i++)
if (Revista[i][tema2])
bun2 =i;
if (!bun1 && !bun2)
{
for (i=1; Revista[i][0]; i++) {}
Revista[i][0] =1;
Revista[i][tema1] =1;
Revista[i][tema2] =1;
}
if (bun1 && !bun2)
Revista[bun1][tema2] =1;
if (!bun1 && bun2)
Revista[bun2][tema1] =1;
if (bun1 && bun2 && bun1!=bun2)
{
Revista[bun2][0] =0;
for (i=1; i<301; i++)
if (Revista[bun2][i])
{
Revista[bun2][i] =0;
Revista[bun1][i] =1;
}
}
}
for (i=1; i<NMAX; i++)
if (Revista[i][0])
contor++;
for (i=1; i<=teme; i++)
{
for (j=0; j<NMAX; j++)
if (Revista[j][i])
bun1 =j;
if (!bun1)
contor++;
}
fout << contor;
return 0;
}