# PBinfo #4068 – GradeK – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerinţa
Se dă lista muchiilor unui graf neorientat și un nod k. Să se determine nodurile din graf care au gradul egal cu gradul nodului k.

Date de intrare
Fişierul de intrare gradek.in conţine pe prima linie numerele n k, reprezentând numărul de noduri ale grafului și nodul dat. 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 gradek.out va conţine pe prima linie numărul p de noduri determinate, iar pe linia a doua cele p noduri determinate, în ordine crescătoare.

Restricţii şi precizări

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

Exemplu:
gradek.in

5 3
1 4 
1 3 
3 5 
4 5 
2 4 
1 2 
4 2 
3 4 
gradek.out

2
1 3

## Cod sursă C++

```cpp
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("gradek.in");
ofstream fout("gradek.out");
int n , a[105][105], g[105], k;
int main()
{
    int i , j;
    fin >> n >> k;
    while(fin >> i >> j)
    {
        a[i][j] = a[j][i] = 1;
    }
    for(int i = 1; i <= n; i++)
    {
        g[i] = 0;
        for(int j = 1; j <= n; ++j)
            if(a[i][j] == 1)
                g[i] ++;
    }
	int cnt = 0;
	for(int i = 1; i <= n; i++)
		if(g[i] == g[k])
			cnt ++;
	fout << cnt << '\n';
    for(int i = 1; i <= n; i++)
		if(g[i] == g[k])
			fout << i << " ";
	fout << '\n';
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/4068)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/4068/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-4068/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
