2803 - Elim P

From Bitnami MediaWiki
Revision as of 20:08, 12 December 2023 by Ghisa Catalin (talk | contribs) (Pagină nouă: == Cerinţa == Se citește un număr '''p''' și un șir de caractere '''s''', șirul conține cel mult '''255''' de litere mici ale alfabetului englez. Să se afișeze toate șirurile rezultate din eliminarea, pe rând, a fiecărei secvențe de '''p''' caractere din '''s''' == Date de intrare == Programul citește de la tastatură numărul '''p''' pe prima linie și șirul '''s''' pe cea de-a doua linie. == Date de ieșire == Programul va afișa pe ecran pe câte o linie, to...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se citește un număr p și un șir de caractere s, șirul conține cel mult 255 de litere mici ale alfabetului englez. Să se afișeze toate șirurile rezultate din eliminarea, pe rând, a fiecărei secvențe de p caractere din s

Date de intrare

Programul citește de la tastatură numărul p pe prima linie și șirul s pe cea de-a doua linie.

Date de ieșire

Programul va afișa pe ecran pe câte o linie, toate șirurile rezultate din eliminarea, pe rând, a fiecărei secvență de p caractere din s.

Restricţii şi precizări

  • 1 ⩽ p ⩽ 255
  • eliminările se fac de la stânga la dreapta

Exemplu 1

Intrare
3
adina
Iesire
Datele de intrare corespund restrictiilor impuse
na
aa
ad


Exemplu 2

Intrare
-1
adina
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare

<syntaxhighlight lang="python" line> def main():

   # Citirea numărului și a șirului de caractere de la tastatură
   p = int(input().strip())
   sir = input().strip()
   # Verifică dacă datele de intrare respectă restricțiile
   if p < 1 or p > 255 or len(sir) > 255:
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   if any(not caracter.islower() for caracter in sir):
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   print("Datele de intrare corespund restrictiilor impuse")
   # Afișarea șirurilor rezultate din eliminarea, pe rând, a fiecărei secvențe de p caractere din s
   for i in range(len(sir) - p + 1):
       print(sir[:i] + sir[i+p:])

if __name__ == "__main__":

   main()

</syntaxhighlight>