2803 - Elim P

De la Universitas 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

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