fbpx

Problema #431 – Graf – Rezolvari PBInfo

de Mihai-Alexandru

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.

#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

S-ar putea sa iti placa