2702 - PerechiSosete

From Bitnami MediaWiki
Revision as of 14:14, 12 March 2023 by Csula Beatrice (talk | contribs) (Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/2702/perechisosete- 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 natura...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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>

  1. 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>