Documente Academic
Documente Profesional
Documente Cultură
1) Grila:
Ex1 R: d) 26 noduri
Explicatie: Vom crea un graf complet cu 10 noduri, astfel graful are 90 de muchii. Restul de 10 muchii
vor fi adiacente cu al 11-lea nod. Cum 15 noduri sunt izolate, 15+11=26 noduri minime intr-un graf cu
50 de muchii.
5 2
1 3
8
6
7
4
Explicatie: Se observa din desen ca subgraful cu nodurile 1, 3, 7 este un component conex, respectiv
subgraful cu nodurile 2, 5, 6 si subgraful cu nodurile 4, 8. Astfel sunt 3 componente conexe
Ex3: R: b) 2 muchii
Explicatie: Graful este acelasi de la ex 2. Daca adaugam muchiile [3, 8] si [8, 5] de exemplu, atunci
graful este unul conex.
Explicatie: Vom crea un subgraf complet cu 5 noduri. Astfel acest subgraf are 10 muchii. Pentru a
avea un graf cu 12 muchii, vom lega si nodul 6 cu inca 2 muchii de subgraful complet. Deci vor
ramane 2 noduri izolate.
Ex6 R: a) 4 muchii
Explicatie ex5 + ex6: Numarul minim de muchii pe care il poate avea un graf conex este nr de noduri
– 1. Deci un graf conex cu 5 noduri are minim 4 muchii. In graful de la ex5, nr de muchii sunt 6. Astfel
graful partial si conex cu nr minim de muchii are cu 2 muchii in minus. Graful de la ex 6 are 8 muchii.
Deci graful partial si conex cu nr minim de muchii are cu 4 muchii in minus.
Ex7 R: c) n=m+1
Explicatie: Teoria arborilor spune ca un graf neorientat este arbore daca graful este conex sau aciclic,
iar numarul de muchii este egal cu numarul de noduri-1.
Ex8 R: c) 3 muchii
Explicatie: Fiecare nod din graf are gradul 3. Asadar, pentru ca un graful partial sa aiba un nod izolat,
prin urmare si 2 componente conexe (in cazul acestui exercitiu), trebuie eliminate minim 3 muchii
(cele 3 care au ca si extremitate acelasi nod), rezultand un nod izolat ce va determina aparitia unui
component conex nou.
Ex9 R: d) 4 muchii
Explicatie: Un graf are nevoie de minim n-1 muchii, unde n este nr de noduri din graf, pentru a fi un
graf conex. Deci un graf care are 6 noduri are nevoie de 5 noduri pentru a fi conex. Asadar, din graful
dat, care contine 6 noduri si 9 muchii , vom putea elimina 4 muchii, obtinand un graf conex.
Explicatie: Un graf ce are n varfuri si n-2 muchii nu poate fi conex, deoarece este imposibil sa avem
cel putin o muchie care sa conecteze toate nodurile, intotdeauna fiind nevoie de macar o muchie.
Astfel, graful nu poate fi nici arbore pentru ca nu este conex. Nici varianta d nu este corecta deoarece
se poate crea un graf care contine un nod izolat (de exemplu un graf cu 3 noduri si o muchie; muchia
va fi [1, 2] si astfel nodul 3 ramane izolat). Deci, prin excludere, varianta corecta este c). Varianta c
este corecta deoarece nu pot crea un graf cu n noduri si n-2 muchii care sa nu contina 2 componente
conexe, astfel graful fiind si aciclic.
2) Probleme:
Ex1:
#include <fstream>
ifstream in("graf.in");
ofstream out("graf.out");
int n, m, x, y, a[101][101];
char c;
int main()
in>>c>>n>>m;
for(int i=1;i<=m;i++){
in>>x>>y;
a[x][y]=a[y][x]=1;
if(c=='a')
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j)
out<<a[i][j]<<" ";
out<<'\n';
else if(c=='b'){
int p, d=0;
in>>p;
for(int i=1;i<=n;++i)
d+=a[p][i];
out<<d;
}
else if(c=='c'){
int p;
in>>p;
for(int i=1;i<=n;++i)
else if(c=='d'){
for(int i=1;i<=n;++i){
int d=0;
for(int j=1;j<=n;++j)
d+=a[i][j];
out<<d<<'\n';
else if(c=='e'){
int dmax=0;
for(int i=1;i<=n;++i){
int d=0;
for(int j=1;j<=n;++j)
d+=a[i][j];
a[i][0]=d;
if(d>dmax) dmax=d;
for(int i=1;i<=n;++i)
else if(c=='f'){
int d=0;
for(int j=1;j<=n;++j)
d+=a[i][j];
return 0;
Ex2
#include <fstream>
ifstream in("graf.in");
ofstream out("graf.out");
int n, m;
int main()
in>>n>>m;
return 0;
Ex3
#include <fstream>
ifstream in("graf.in");
ofstream out("graf.out");
int n, a[101][101];
int main()
in>>n;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j){
in>>a[i][j];
return 0;
return 0;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
if(a[i][j]!=a[j][i]){
return 0;
out<<"Este graf";
return 0;
Ex4
2) [3, 5] cu [5, 7]
c)
1 2 3 4 5 6 7 8 9 10 11
1 0 1 0 1 0 0 0 0 0 0 0
2 1 0 1 0 1 0 0 0 0 0 0
3 0 1 0 1 1 0 0 0 0 0 0
4 1 0 1 0 0 0 0 0 0 0 0
5 0 1 1 0 0 1 1 1 0 0 0
6 0 0 0 0 1 0 0 0 0 0 0
7 0 0 0 0 1 0 0 0 1 0 0
8 0 0 0 0 1 0 0 0 0 0 0
9 0 0 0 0 0 0 1 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0
d) 1: 2, 4
2: 1, 3, 5
3: 2, 4, 5
4: 1, 3
5: 2, 3, 6, 7, 8
6: 5
7: 5, 9
8: 5
9: 7
10: null
11: null
e) Muchiile incidente cu nodul 5 sunt: [2, 5], [3, 5], [5, 6], [5, 7], [5, 8].
g) Lelementar = [ 2, 5, 7 ]
h) Celementar = [ 3, 4, 1, 2, 5, 3 ]
j) Nr minim de muchii ce trebuie adaugate pentru a obtine un graf conex este 2. Fiind 2
noduri izolate, este nevoie de cate o muchie adiacenta cu unul dintre cele 2 noduri si cu un
nod din componenta { 1, 2, 3, 4, 5, 6, 7, 8, 9 }. De exemplu putem adauga muchiile [9, 10] si
[9, 11].