393
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 ≤ 51 ≤ 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.
#include <bits/stdc++.h>
using namespace std;
ifstream cin("graf_complet.in");
ofstream cout("graf_complet.out");
int a[102][102];
int main()
{
int n , m;
cin >> n;
for(int i = 0 ; i < n ; ++i)
{
int cnt = 0;
cin >> m;
for(int i = 0 ; i < m ; ++i)
for(int j = 0 ; j < m ; ++j)
cin >> a[i][j];
for(int i = 0 ; i < m ; ++i)
for(int j = 0 ; j < m; ++j)
if(a[i][j]==0)cnt++;
if(cnt <= m) cout << "DA" << endl;
else cout << "NU" << endl;
for(int i = 0 ; i < m ; ++i)
for(int j = 0 ; j < m; ++j)
a[i][j]=0;
}
}
Comentarii