Cerinţa
Se dă lista muchiilor unui graf neorientat. Să se afișeze vârfurile izolate ale grafului.
Date de intrare
Fişierul de intrare izolate.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 izolate.out
va conţine pe prima linie numărul m
de vârfuri izolate, urmat de cele m
vârfuri izolate, în ordine crescătoare, separate prin exact un spațiu.
Restricţii şi precizări
1 ≤ n ≤ 100
1 ≤ i , j ≤ n
- muchiile se pot repeta în fișierul de intrare
Exemplu
izolate.in
6 1 4 3 6 4 3 1 6 6 4
izolate.out
2 2 5
#include <bits/stdc++.h> using namespace std; ifstream cin("izolate.in"); ofstream cout("izolate.out"); int n , m , a[101][101] , p , r , e[2500]; int main() { int cnt = 0; cin >> n; while(cin >> p >> r) { a[p][r] = 1; a[r][p] = 1; } for(int i = 1 ; i <= n ; ++i) { int ok = 0; for(int j = 1 ; j <= n ; ++j) if (a[i][j]) ok = 1; if(ok == 0) cnt++; } cout << cnt << " "; for(int i = 1 ; i <= n ; ++i) { int ok = 0; for(int j = 1 ; j <= n ; ++j) if (a[i][j]) ok = 1; if(ok == 0) cout << i << " "; } return 0; }