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; }