2803 - Elim P
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>