Vreau o explicatie pas cu pas la aceasta problema, ce face fiecare variabila si cum am ajuns sa imi dea acest rezultat in consola.
Se dă un graf neorientat cu n (n<=100) vârfuri si m muchii prin lista muchiilor. Afisați toate subgrafurile pe care le are. Fiecare subgraf va fi afișat astfel:
- vârfurile lui
- matricea de adiacență
Exemplu:
graf.in
3 2
1 2
1 3
graf.out
Varfurile subgrafului: 1
Matricea de adiacenta:
0 0 0
0 0 0
0 0 0
Varfurile subgrafului: 1 2
Matricea de adiacenta:
0 1 0
1 0 0
0 0 0
Varfurile subgrafului: 1 2 3
Matricea de adiacenta:
0 1 1
1 0 0
1 0 0
Varfurile subgrafului: 1 3
Matricea de adiacenta:
0 0 1
0 0 0
1 0 0
Varfurile subgrafului: 2
Matricea de adiacenta:
0 0 0
0 0 0
0 0 0
Varfurile subgrafului: 2 3
Matricea de adiacenta:
0 0 0
0 0 0
0 0 0
Varfurile subgrafului: 3
Matricea de adiacenta:
0 0 0
0 0 0
0 0 0
#include
using namespace std;
ifstream fin("graf.in");
ofstream fout("graf.out");
int n,m,A[101][101],X[101];
void afisare(int k)
{
fout<<"Varfurile subgrafului: ";
for(int i=1;i<=k;i++)
fout< >n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
fin>>x>>y;
A[x][y]=A[y][x]=1;
}
back(1);
return 0;
}
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
Nu prea se înțelege
Explicație:
:( te-as ajuta
{
fin>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
fin>>x>>y;
A[x][y]=A[y][x]=1;
}
back(1);
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
using namespace std;
ifstream fin("graf.in");
ofstream fout("graf.out");
int n,m,A[101][101],X[101];
void afisare(int k)
{
fout<<"Varfurile subgrafului: ";
for(int i=1;i<=k;i++)
fout< fout< fout<<"Matricea de adiacenta:\n";
int P[101]={0};
for(int i=1;i<=k;i++)
P[X[i]]=1;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
if(P[i] && P[j]) fout< else fout<<"0 ";
fout< }
}
void back(int k)
{
for(int i=X[k-1]+1;i<=n;i++)
{
X[k]=i;
afisare(k);
back(k+1);
}
}