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
SOLUTIE
#include<fstream> using namespace std; ifstream cin("adiacenta1.in"); ofstream cout("adiacenta1.out"); int main() { int a[105][105]={0},maxi=0,x,y; while(cin>>x>>y) { if(maxi<x) maxi=x; if(maxi<y) maxi=y; a[x][y]=a[y][x]=1; } for(int i=1;i<=maxi;i++) { for(int j=1;j<=maxi;j++) cout<<a[i][j]<<" "; cout<<endl; } }