520
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