2803 - Elim P

From Bitnami MediaWiki

Cerinţa[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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

Exemplul 1[edit | edit source]

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


Exemplul 2[edit | edit source]

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


Rezolvare[edit | edit source]

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