fbpx

Problema #413 – Adiacenta1 – Rezolvari PBInfo

de Mihai-Alexandru

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

S-ar putea sa iti placa