Pregătire IX–X · Set original octombrie 2026 · clasa a 10-a
Înlocuiri fără suprapunere
citire/afișare: consolă (cin/cout, input/print)timp 2smemorie 256 MBsursă ≤ 64 KB20 testepunctaj maxim 100p
Mergi la editorCerință
Parcurge textul s de la stânga la dreapta. Dacă p apare în poziția curentă, adaugă q la rezultat și sari peste întreaga apariție a lui p; altfel copiază litera curentă. Textul adăugat nu se prelucrează din nou.
Problemă originală de pregătire pentru clasele IX–X, nu este subiect oficial.
Date de intrare
Trei linii: s, p, q, fiecare un cuvânt cu litere mici engleze. Citirea se face de la tastatură (intrarea standard).
Date de ieșire
Textul rezultat. Afișarea se face la ecran (ieșirea standard), fără mesaje suplimentare.
Restricții
- 1 ≤ lungimea fiecărui text ≤ 500; numai caractere ASCII. Rezultatul are cel mult 250000 de caractere.
- Folosește întregi pe 64 de biți pentru sume și produse, când este necesar.
- 20 de teste, fiecare valorează 5 puncte.
Exemplul 1
Date de intrare (tastatură)
aaaaa aa b
Date de ieșire (ecran)
bba
Desen
Explicație
- Citim datele conform formatului.
- Folosește un indice în textul original și un rezultat separat. La potrivire avansează cu lungimea lui p.
- Aplicând pașii pe datele de mai sus obținem:
bba
Exemplul 2
Date de intrare (tastatură)
b ab xyz
Date de ieșire (ecran)
b
Desen
Explicație
- Citim datele conform formatului.
- Folosește un indice în textul original și un rezultat separat. La potrivire avansează cu lungimea lui p.
- Aplicând pașii pe datele de mai sus obținem:
b
Exemplul 3
Date de intrare (tastatură)
aaaaaaaaaaaaaaaaaaaa aa xyz
Date de ieșire (ecran)
xyzxyzxyzxyzxyzxyzxyzxyzxyzxyz
Desen
Explicație
- Citim datele conform formatului.
- Folosește un indice în textul original și un rezultat separat. La potrivire avansează cu lungimea lui p.
- Aplicând pașii pe datele de mai sus obținem:
xyzxyzxyzxyzxyzxyzxyzxyzxyzxyz
Probleme similare pe PbInfo
Exersează aceeași tehnică și pe PbInfo — acolo găsești și soluții oficiale.
- #1512 Mars — șmenul lui Mars
- #3844 KSum — SSM cu lungime minimă
- #2921 SumeSecv1 — sume parțiale
- #237 Sume — sume parțiale
- #3659 SumMaxSecv — suma costurilor
- #4205 SecvSumS — secvență de sumă S
- #3941 CountSumS — perechi de sumă S
- #4532 SumOfAll — suma subsecvențelor
- #1879 platou2 — secvență crescătoare
- #1639 Secvente3 — ONI 2013
- #2301 secv — ONI gimnaziu 2016
- #2510 vsecvente — lot juniori
- #1090 Secvente2
- #4423 secv2
- #3163 SecvMaxVal
- #334 secventa1 — clasice
- #50 secvmax — secvența de sumă maximă
- #315 secventa
- #190 secvk — secvențe de lungime k
- #217 platou1 — platouri