GRADE

Se dă lista muchiilor unui graf neorientat. Să se afișeze gradul fiecărui vârf.

Date de intrare

Fişierul de intrare grade.in conţine pe prima linie numărul n, reprezentând numărul de vârfuri ale grafului. Fiecare dintre următoarele linii 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 grade.out va conţine pe prima linie n numere naturale, reprezentând gradele vârfurilor, în ordinea vârfurilor.

Restricţii şi precizări

  • 1 ≤ n ≤ 100
  • 1 ≤ i , j ≤ n
  • muchiile se pot repeta în fișierul de intrare

Exemplu

grade.in

5
1 4 
1 3 
3 5 
4 5 
2 4 
1 2 
4 2 
3 4 

grade.out

3 2 3 4 2

SOLUTIE

#include<fstream>
using namespace std;
ifstream cin("grade.in");
ofstream cout("grade.out");
int n,a[101][101];

void citire()
{
    cin>>n;
    
    int x,y;
    while(cin>>x && cin>>y)
        a[x][y] = 1;
}

int main()
{
    citire();
    
    for(int i=1;i<=n;i++)
    {
        int grad = 0;
        for(int j=1;j<=n;j++)
            if(a[i][j] || a[j][i])
                grad++;
        cout<<grad<<" ";
    }
}
%d bloggers like this: