2702 - PerechiSosete
Sursa: PerechiSosete
Cerinţa
Andrei lucrează într-un magazin de șosete, iar fiecare șosetă are asociat un numar întreg pentru a o identifica mai ușor din ce model face parte. Dându-se un vector neordonat de astfel de coduri, aflați câte perechi de șosete se pot forma.
Date de intrare
Programul citește de la tastatură numărul numar_sosete, iar apoi numar_sosete numere naturale, separate prin spații.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt corecte.", iar apoi se va afișa pe ecran pe ecran numărul de perechi care se pot forma. În caz contrar, se va afișa pe ecran: "Datele nu sunt comform restricțiilor impuse.".
Restricţii şi precizări
- 1 ⩽ numar_sosete ⩽ 100
- Codurile șosetelor sunt cuprinse în intervalul [1, 100]
Exemple
Exemplul 1
- Intrare
- 10
- 1 3 2 1 2 2 1 2 1 2
- Ieșire
- Datele sunt corecte.
- 4
Exemplul 2
- Intrare
- 10
- 100 10000 100 20 1 20 30 10 98 99
- Ieșire
- Datele nu corespund restricțiilor impuse.
Exemplul 3
- Intrare
- 5
- 1 2 3 4 5
- Ieșire
- Datele sunt corecte.
- 0
Rezolvare
<syntaxhighlight lang="python" line>
- 2702 PerechiSosete
def numarare_sosete(vector, numar_sosete):
numar_total_sosete = 0 for i in range(numar_sosete): numar_total_sosete += vector.count(i) // 2 print(numar_total_sosete)
def conform_restrictiilor():
numar_sosete = int(input()) if numar_sosete < 1 or numar_sosete > 100: print("Datele nu sunt comform restricțiilor impuse.") exit() vector = list(map(int, input().split())) for x in vector: if x > 100 or x < 1: print("Datele nu sunt comform restricțiilor impuse.") exit() print("Datele sunt corecte.") return vector, numar_sosete
if __name__ == '__main__':
vector, numar_sosete = conform_restrictiilor() numarare_sosete(vector, numar_sosete)
</syntaxhighlight>