330
Cerinţa
Se dă lista muchiilor unui graf neorientat. Să se afișeze matricea de adiacență a grafului.
Date de intrare
Fiecare dintre liniile fișierului adiacenta1.in
conține câte o pereche de numere i j
, cu semnificația că există muchie între i
și j
.
Date de ieşire
Fişierul de ieşire adiacenta1.out
va conţine n
linii; pe fiecare dintre ele vor fi câte n
valori separate prin exact un spațiu, reprezentând matricea de adiacență a grafului dat.
Restricţii şi precizări
- graful dat va avea cel mult
100
de vârfuri - muchiile se pot repeta în fișierul de intrare
- numărul de vârfuri ale grafului va fi egal cu cea mai mare valoare din lista muchiilor
Exemplu
adiacenta1.in
1 4 1 3 3 5 4 5 2 4 1 2 4 2 3 4
adiacenta1.out
0 1 1 1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 1 1 0
#include <bits/stdc++.h> using namespace std; ifstream cin("adiacenta1.in"); ofstream cout("adiacenta1.out"); int n , m , a[101][101] , p , r; int main() { while(cin >> p >> r) { a[p][r] = 1; a[r][p] = 1; n = max(n, max(p, r)); } for(int i = 1 ; i <= n ; ++i) { for(int j = 1 ; j <= n ; ++j) cout << a[i][j] << " "; cout << endl; } return 0; }
Comentarii