ADIACENTA1

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;
       }
 }
%d bloggers like this: