#2191
Ion este un lingvist pasionat. Recent el a descoperit un text scris într-o limbă necunoscută. Textul este scris pe mai multe linii şi este format din cuvinte scrise cu litere mici din alfabetul latin, separate prin spaţii sau/şi semne de punctuaţie (,:;.!?-). Ion a fost frapat că există multe similitudini între cuvintele din text. Fiind foarte riguros, Ion definește similitudinea a două cuvinte după cum urmează. Fie c1 şi c2 două cuvinte. Cuvântul c1 poate fi obţinut din cuvântul c2 printr-o succesiune de operaţii elementare. Operaţiile elementare ce pot fi folosite sunt:
move(c1, c2) – Mută primul caracter din c1 la sfârşitul cuvântului c2 (de exemplu, dacă c1="alba" şi c2="neagra", după efectuarea operaţiei move(c1, c2), c1 va fi "lba", iar c2 va fi "neagraa")insert(c1, x) – Inserează caracterul x la începutul lui c1 (de exemplu, dacă c1="alba" şi x='b', după executarea operaţiei insert(c1,x), c1 va fi "balba")delete(c1) – Şterge primul caracter din c1 (de exemplu, dacă c1="alba", după executarea operaţiei delete(c1), c1 va fi "lba")Definim similitudinea dintre c1 şi c2 ca fiind numărul minim de operații insert şi delete ce trebuie să fie executate pentru a transforma cuvântul c1 în cuvântul c2 (operațiile move nu se numără).
Fie c0 primul cuvânt din text. Începând cu c0 putem construi lanțuri de k-similitudine.
Un lanţ de k-similitudine este o succesiune de cuvinte distincte din text cu următoarele proprietăți:
x apare în lanţ înaintea cuvântului y, atunci prima apariţie a lui x în text precedă prima apariţie a lui y în text;x şi y sunt cuvinte consecutive în lanţ (în ordinea x y), atunci similitudinea dintre x şi y este mai mică sau egală decât k;Scrieţi un program care să determine numărul de lanţuri de k-similitudine care încep cu c0.
Olimpiada județeană de informatică, 2005
| ID | Utilizator | Problema | Data încărcării | Stare | ||
|---|---|---|---|---|---|---|
| lant2 | 14 Mai 2026, 22:45 | Evaluare finalizată | 100 | |||
| lant2 | 14 Mai 2026, 22:44 | Evaluare finalizată | E.C | |||
| lant2 | 06 Mai 2026, 12:41 | Evaluare finalizată | E.C | |||
| lant2 | 29 Aprilie 2026, 13:18 | Evaluare finalizată | 100 | |||
| lant2 | 17 Aprilie 2026, 12:43 | Evaluare finalizată | 100 | |||
| lant2 | 17 Aprilie 2026, 12:42 | Evaluare finalizată | E.C | |||
| lant2 | 17 Aprilie 2026, 12:42 | Evaluare finalizată | E.C | |||
| lant2 | 04 Aprilie 2026, 12:34 | Evaluare finalizată | 100 | |||
| lant2 | 10 Martie 2026, 05:00 | Evaluare finalizată | 100 | |||
| lant2 | 09 Martie 2026, 22:03 | Evaluare finalizată | 100 | |||
| lant2 | 09 Martie 2026, 21:58 | Evaluare finalizată | E.C | |||
| lant2 | 01 Martie 2026, 19:50 | Evaluare finalizată | 100 | |||
| lant2 | 01 Martie 2026, 19:31 | Evaluare finalizată | 0 | |||
| lant2 | 01 Martie 2026, 18:56 | Evaluare finalizată | 0 | |||
| lant2 | 01 Martie 2026, 18:56 | Evaluare finalizată | E.C | |||
| lant2 | 01 Martie 2026, 14:10 | Evaluare finalizată | 100 | |||
| lant2 | 01 Martie 2026, 14:04 | Evaluare finalizată | 70 | |||
| lant2 | 01 Martie 2026, 13:56 | Evaluare finalizată | 60 | |||
| lant2 | 01 Martie 2026, 13:52 | Evaluare finalizată | 50 | |||
| lant2 | 27 Februarie 2026, 21:21 | Evaluare finalizată | 100 | |||
| lant2 | 27 Februarie 2026, 21:16 | Evaluare finalizată | 60 | |||
| lant2 | 27 Februarie 2026, 21:10 | Evaluare finalizată | 50 | |||
| lant2 | 27 Februarie 2026, 21:09 | Evaluare finalizată | E.C | |||
| lant2 | 27 Februarie 2026, 21:04 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:46 | Evaluare finalizată | 0 | |||
| lant2 | 25 Februarie 2026, 11:46 | Evaluare finalizată | E.C | |||
| lant2 | 25 Februarie 2026, 11:44 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:44 | Evaluare finalizată | 0 | |||
| lant2 | 25 Februarie 2026, 11:37 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:35 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:35 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:34 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:32 | Evaluare finalizată | 0 | |||
| lant2 | 25 Februarie 2026, 11:32 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:31 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:31 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:30 | Evaluare finalizată | 20 | |||
| lant2 | 25 Februarie 2026, 11:30 | Evaluare finalizată | 0 | |||
| lant2 | 23 Februarie 2026, 09:41 | Evaluare finalizată | 100 | |||
| lant2 | 16 Februarie 2026, 17:20 | Evaluare finalizată | 100 | |||
| lant2 | 16 Februarie 2026, 17:05 | Evaluare finalizată | 100 | |||
| lant2 | 16 Februarie 2026, 17:05 | Evaluare finalizată | 20 | |||
| lant2 | 16 Februarie 2026, 16:59 | Evaluare finalizată | 20 | |||
| lant2 | 16 Februarie 2026, 12:45 | Evaluare finalizată | 100 | |||
| lant2 | 16 Februarie 2026, 12:42 | Evaluare finalizată | 100 | |||
| lant2 | 16 Februarie 2026, 12:38 | Evaluare finalizată | 10 | |||
| lant2 | 16 Februarie 2026, 12:36 | Evaluare finalizată | 10 | |||
| lant2 | 16 Februarie 2026, 12:29 | Evaluare finalizată | 10 | |||
| lant2 | 16 Februarie 2026, 12:28 | Evaluare finalizată | 10 | |||
| lant2 | 16 Februarie 2026, 11:41 | Evaluare finalizată | 0 | |||