0573 - Grade2
Cerinţa
Se dă lista arcelor unui graf orientat. Să se determine nodurile care au gradul exterior egal cu gradul interior.
Date de intrare
Programul citește de la tastatură numărul n de noduri și numărul m de arce, iar apoi lista arcelor, formată din m perechi de forma i j, cu semnificația că există arc orientat de la i la j.
Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând numărul de noduri care au gradul interior egal cu cel exterior, iar pe linie următoare afișează aceste noduri, ordonate crescător, separate prin exact un spațiu.
Restricţii şi precizări
- 1 ≤ n ≤ 100
Exemplu 1
- Intrare
6 9 1 2 1 3 1 5 3 5 4 1 3 4 5 1 6 1 6 3
- Iesire
Datele de intrare corespund restrictiilor impuse 3 1 3 4
Exemplu 2
- Intrare
101 0
- Iesire
Datele de intrare nu corespund restrictiilor impuse
Rezolvare
<syntaxhighlight lang="python" line> def verifica_restrictii(n, arce):
# Verifică dacă datele de intrare respectă restricțiile if not (1 <= n <= 100) or not all(1 <= i <= n and 1 <= j <= n for i, j in arce): return False return True
def noduri_grad_egale(n, arce):
# Inițializează gradele interioare și exterioare ale nodurilor grad_interior = [0] * (n + 1) grad_exterior = [0] * (n + 1)
# Calculează gradele interioare și exterioare ale nodurilor for i, j in arce: grad_exterior[i] += 1 grad_interior[j] += 1
# Determină nodurile care au gradul interior egal cu gradul exterior noduri = [i for i in range(1, n + 1) if grad_interior[i] == grad_exterior[i]]
return noduri
def main():
n, m = map(int, input().split()) arce = [tuple(map(int, input().split())) for _ in range(m)]
# Verifică dacă datele de intrare respectă restricțiile if not verifica_restrictii(n, arce): print("Datele de intrare nu corespund restrictiilor impuse") return
print("Datele de intrare corespund restrictiilor impuse")
# Determină nodurile care au gradul interior egal cu gradul exterior noduri = noduri_grad_egale(n, arce)
# Afiseaza rezultatul print(len(noduri)) print(' '.join(map(str, sorted(noduri))))
if __name__ == "__main__":
main()
</syntaxhighlight>