# PBinfo #431 – Graf complet – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerinţa
Se dau mai multe grafuri neorientate, prin matricea de adiacență. Să se verifice despre fiecare graf dacă este complet.

Date de intrare
Fişierul de intrare graf_complet.in conţine pe prima linie numărul de grafuri G. Pentru fiecare dintre cele G grafuri se dă n și apoi matricea de adiacență, formată din n linii și n coloane.

Date de ieşire
Fişierul de ieşire graf_complet.out va conţine G linii. Pe fiecare dintre ele se va afla mesajul DA sau NU, după cum graful corespunzător este sau nu complet.

Restricţii şi precizări

1 ≤ G ≤ 5
1 ≤ n ≤ 50

Exemplu:
graf_complet.in

2
3
0 1 1
1 0 1
1 1 0
4
0 1 1 1
1 0 0 1
1 0 0 1
1 1 1 0
graf_complet.out

DA
NU
Explicație
S-au dat două grafuri. Primul are 3 vârfuri și este complet, al doilea are 4 vârfuri și nu este complet.

## Cod sursă C++

```cpp
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("graf_complet.in");
ofstream fout("graf_complet.out");
int G, n , a[105][105];
int main()
{
    fin >> G;
    for( ; G ; G--)
    {
		fin >> n;
		for(int i = 1 ; i <= n ; ++i)
			for(int j = 1 ; j <= n ; ++j)
				fin >> a[i][j];
		bool complet = true;
		for(int i = 1 ; i < n ; ++i)
			for(int j = i + 1 ; j <= n ; ++j)
				if(a[i][j] == 0 || a[j][i] == 0)
					complet = false;
		if(complet)
			fout << "DA\n";
		else
			fout << "NU\n";
	}
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/431)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/431/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-431/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
