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