Soluții trimise

Rezumat problemă

#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:

  • dacă cuvântul 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;
  • dacă 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;
  • lanţul este maximal (adică nu putem adăuga încă un cuvânt la sfârşitul acestui lanţ, astfel încât să fie respectate proprietăţile precedente).

Scrieţi un program care să determine numărul de lanţuri de k-similitudine care încep cu c0.

ID   Utilizator Problema Data încărcării Stare
Stefanica Miruna-Teona (Stefanica_Miruna_Teona) lant2 14 Mai 2026, 22:45 Evaluare finalizată 100
Stefanica Miruna-Teona (Stefanica_Miruna_Teona) lant2 14 Mai 2026, 22:44 Evaluare finalizată E.C
curca ruxandra (curca_ruxandra) lant2 06 Mai 2026, 12:41 Evaluare finalizată E.C
Crețu Constantin (cc) lant2 29 Aprilie 2026, 13:18 Evaluare finalizată 100
teodora apetroaie (toetoetoetoe) lant2 17 Aprilie 2026, 12:43 Evaluare finalizată 100
teodora apetroaie (toetoetoetoe) lant2 17 Aprilie 2026, 12:42 Evaluare finalizată E.C
teodora apetroaie (toetoetoetoe) lant2 17 Aprilie 2026, 12:42 Evaluare finalizată E.C
Peter Tobias (PeterTobias) lant2 04 Aprilie 2026, 12:34 Evaluare finalizată 100
Basescu Carmen (princess1702) lant2 10 Martie 2026, 05:00 Evaluare finalizată 100
Cretu Elena (elena_cretu) lant2 09 Martie 2026, 22:03 Evaluare finalizată 100
Cretu Elena (elena_cretu) lant2 09 Martie 2026, 21:58 Evaluare finalizată E.C
Hustiu Teodor (teohustiu) lant2 01 Martie 2026, 19:50 Evaluare finalizată 100
Hustiu Teodor (teohustiu) lant2 01 Martie 2026, 19:31 Evaluare finalizată 0
Hustiu Teodor (teohustiu) lant2 01 Martie 2026, 18:56 Evaluare finalizată 0
Hustiu Teodor (teohustiu) lant2 01 Martie 2026, 18:56 Evaluare finalizată E.C
Slash ® (Benjamin4321234) lant2 01 Martie 2026, 14:10 Evaluare finalizată 100
Slash ® (Benjamin4321234) lant2 01 Martie 2026, 14:04 Evaluare finalizată 70
Slash ® (Benjamin4321234) lant2 01 Martie 2026, 13:56 Evaluare finalizată 60
Slash ® (Benjamin4321234) lant2 01 Martie 2026, 13:52 Evaluare finalizată 50
Spartan ® (alexroman07) lant2 27 Februarie 2026, 21:21 Evaluare finalizată 100
Spartan ® (alexroman07) lant2 27 Februarie 2026, 21:16 Evaluare finalizată 60
Spartan ® (alexroman07) lant2 27 Februarie 2026, 21:10 Evaluare finalizată 50
Spartan ® (alexroman07) lant2 27 Februarie 2026, 21:09 Evaluare finalizată E.C
Spartan ® (alexroman07) lant2 27 Februarie 2026, 21:04 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:46 Evaluare finalizată 0
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:46 Evaluare finalizată E.C
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:44 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:44 Evaluare finalizată 0
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:37 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:35 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:35 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:34 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:32 Evaluare finalizată 0
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:32 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:31 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:31 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:30 Evaluare finalizată 20
David Ionescu (IonescuDavidGabriel) lant2 25 Februarie 2026, 11:30 Evaluare finalizată 0
Pahonie George (Hezov) lant2 23 Februarie 2026, 09:41 Evaluare finalizată 100
Barna Bogdan (Bogdan_Barnaaa) lant2 16 Februarie 2026, 17:20 Evaluare finalizată 100
Barna Bogdan (Bogdan_Barnaaa) lant2 16 Februarie 2026, 17:05 Evaluare finalizată 100
Barna Bogdan (Bogdan_Barnaaa) lant2 16 Februarie 2026, 17:05 Evaluare finalizată 20
Barna Bogdan (Bogdan_Barnaaa) lant2 16 Februarie 2026, 16:59 Evaluare finalizată 20
Fulga Bogdan (bogdan_07f) lant2 16 Februarie 2026, 12:45 Evaluare finalizată 100
Fulga Bogdan (bogdan_07f) lant2 16 Februarie 2026, 12:42 Evaluare finalizată 100
Fulga Bogdan (bogdan_07f) lant2 16 Februarie 2026, 12:38 Evaluare finalizată 10
Fulga Bogdan (bogdan_07f) lant2 16 Februarie 2026, 12:36 Evaluare finalizată 10
Fulga Bogdan (bogdan_07f) lant2 16 Februarie 2026, 12:29 Evaluare finalizată 10
Fulga Bogdan (bogdan_07f) lant2 16 Februarie 2026, 12:28 Evaluare finalizată 10
Fulga Bogdan (bogdan_07f) lant2 16 Februarie 2026, 11:41 Evaluare finalizată 0
Du-te sus!