2803 - Elim P

From Bitnami MediaWiki

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

Exemplul 1

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


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