De câte ori trebuie să transmită un mesaj URGENT!!! directorul şcolii noastre are o mare problemă. Indiferent de canalul de comunicare pe care îl foloseşte (e-mail, what’s app, site-ul şcolii etc.), întotdeauna vor exista elevi la care mesajul nu ajunge sau nu ajunge în timp util. După multe încercări, a decis să numeroteze cei elevi din şcoală cu numere distincte de la la şi să studieze relaţiile de comunicare dintre elevi. Apoi, bazându-se pe aceste relaţii de comunicare, să aleagă un număr minim de elevi-răspândaci cărora să le transmită mesajul direct, urmând ca aceasta să fie transmis la absolut toţi elevii, prin relaţiile de comunicare dintre aceştia.
Cerință
Să se scrie un program care, cunoscând relaţiile de comunicare dintre elevi, determină numărul minim de răspândaci necesari pentru ca mesajul directorului să ajungă în timp util la toţi elevii din şcoală.
Date de intrare
Fişierul de intrare raspandaci.in
conţine pe prima linie numărul natural , reprezentând numărul de elevi din şcoală. Pe următoarele linii se află perechi de numere naturale () cu semnificaţia că elevul transmite imediat elevului orice mesaj primit.
Date de ieșire
Fișierul de ieșire raspandaci.out
va conţine o singură linie pe care va fi scris numărul minim de răspândaci, necesari pentru ca mesajul directorului să ajungă în timp util la toţi elevii din şcoală.
Restricții și precizări
- ;
- Numărul de relații de comunicare între elevi din fișierul de intrare este ;
- Un elev poate să comunice mesajul chiar și lui însuși.
# | Punctaj | Restricții |
---|---|---|
0 | 10 | Din oficiu |
1 | 30 | |
2 | 11 | |
3 | 49 | Fără restricții suplimentare |
Exemplu
raspandaci.in
6
2 1
1 6
3 4
4 1
3 5
4 3
5 1
6 5
raspandaci.out
2
Explicație
Cei doi răspândaci ar putea fi elevii şi . Dacă directorul transmite mesajul elevului aceasta va ajunge şi la elevii , , şi .
Dacă în plus transmite mesajul şi elevului acesta va ajunge şi la elevul .
O altă soluţie posibilă ar fi ca directorul să transmită mesajul elevilor şi .