fbpx

Problema #2707 – matad – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Dându-se o matrice de numere întregi cu n linii și n coloane, să se verifice dacă este sau nu matrice de adiacență asociată unui graf neorientat.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi se citesc de pe n linii câte n numere naturale, separate prin spații, reprezentând elementele matricei.

Date de ieșire

Programul va afișa pe ecran valoarea 1 dacă matricea este de adiacență, sau 0 dacă nu este matrice de adiacență.

Restricții și precizări

  • 3 ≤ n ≤ 100
  • Un graf neorientat nu admite nici bucle (deci nu există muchie de la un nod la el însuși) și nici muchii multiple între aceleași două noduri.

Exemplul 1:

Intrare

4
0 1 1 0
1 0 0 0
1 0 0 1
0 0 1 0

Ieșire

1

Exemplul 2:

Intrare

4
0 1 1 0
1 0 0 0
0 0 0 1
0 0 0 0

Ieșire

0
#include <bits/stdc++.h>
using namespace std;
int a[102][102] , n;
int main()
{
    int ok = 1;
    cin >> n;
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= n; j++)
        {
            cin >> a[i][j];
            if(i == j && a[i][j] != 0) ok = 0;
        }
    for(int i = 1; i < n; i++)
        for(int j = i + 1; j <= n; j++)
        {
            if(a[i][j] < 0 || a[i][j] > 1) ok = 0;
            if(a[i][j] != a[j][i]) ok = 0;
        }
    cout << ok;
    return 0;
}
Comentarii

S-ar putea sa iti placa