Soluții trimise

Rezumat problemă

#2191 lant2

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
Miclaus Adrian (adimiclaus15) lant2 19 Noiembrie 2024, 11:08 Evaluare finalizată 100
Miclaus Adrian (adimiclaus15) lant2 19 Noiembrie 2024, 11:07 Evaluare finalizată 0
Arustei Stefan (stefan_arustei) lant2 10 Octombrie 2024, 12:54 Evaluare finalizată 20
Luca Bogdan (bogdan14789) lant2 28 Septembrie 2024, 19:56 Evaluare finalizată 100
Luca Bogdan (bogdan14789) lant2 28 Septembrie 2024, 19:54 Evaluare finalizată 20
Luca Bogdan (bogdan14789) lant2 28 Septembrie 2024, 18:42 Evaluare finalizată 0
best in buzau (BestInBuzau) lant2 27 Septembrie 2024, 05:32 Evaluare finalizată 100
Moldovan Laura (laura2019) lant2 06 Septembrie 2024, 16:35 Evaluare finalizată 100
Moldovan Laura (laura2019) lant2 06 Septembrie 2024, 16:20 Evaluare finalizată 40
Moldovan Laura (laura2019) lant2 06 Septembrie 2024, 14:32 Evaluare finalizată 40
Costea Sasha (gosasha) lant2 02 Septembrie 2024, 17:13 Evaluare finalizată 100
Costea Sasha (gosasha) lant2 02 Septembrie 2024, 17:13 Evaluare finalizată 0
Costea Sasha (gosasha) lant2 02 Septembrie 2024, 17:09 Evaluare finalizată 20
Otlacan Fabian (Otlacan_Fabian) lant2 25 August 2024, 10:50 Evaluare finalizată 100
Otlacan Fabian (Otlacan_Fabian) lant2 25 August 2024, 10:37 Evaluare finalizată 20
Otlacan Fabian (Otlacan_Fabian) lant2 16 August 2024, 01:37 Evaluare finalizată 40
Plesescu Alex-Albert (AlexPlesescu) lant2 14 August 2024, 18:31 Evaluare finalizată 100
Plesescu Alex-Albert (AlexPlesescu) lant2 14 August 2024, 18:31 Evaluare finalizată 0
buchman eduard (edaurdb) lant2 01 August 2024, 12:54 Evaluare finalizată E.C
Negret Bianca (Bianca2507) lant2 29 Iulie 2024, 13:05 Evaluare finalizată 100
Costea Diana Stefania (Dia3141) lant2 23 Iulie 2024, 16:31 Evaluare finalizată 100
Țigău Alexandru (ALEXANDRUTIGAU04) lant2 10 Iulie 2024, 14:04 Evaluare finalizată 100
Țigău Alexandru (ALEXANDRUTIGAU04) lant2 10 Iulie 2024, 14:03 Evaluare finalizată 70
Țigău Alexandru (ALEXANDRUTIGAU04) lant2 10 Iulie 2024, 13:27 Evaluare finalizată 0
NITA Mioara (Mioara_NITA) lant2 31 Mai 2024, 18:57 Evaluare finalizată 100
NITA Mioara (Mioara_NITA) lant2 31 Mai 2024, 18:57 Evaluare finalizată 100
- - (Cumpatescu_Vlad) lant2 19 Mai 2024, 21:17 Evaluare finalizată 100
- - (Cumpatescu_Vlad) lant2 19 Mai 2024, 21:16 Evaluare finalizată 0
Constantin Antonio (Antonel14) lant2 18 Aprilie 2024, 13:51 Evaluare finalizată 100
Stoicescu Daniel (danutzz12) lant2 16 Aprilie 2024, 22:50 Evaluare finalizată 100
Cismaru Theodor-Alexe (Theo20067) lant2 10 Aprilie 2024, 22:38 Evaluare finalizată 100
Cismaru Theodor-Alexe (Theo20067) lant2 10 Aprilie 2024, 22:37 Evaluare finalizată 10
Cismaru Theodor-Alexe (Theo20067) lant2 10 Aprilie 2024, 22:36 Evaluare finalizată E.C
Cismaru Theodor-Alexe (Theo20067) lant2 10 Aprilie 2024, 22:22 Evaluare finalizată 100
Cismaru Theodor-Alexe (Theo20067) lant2 10 Aprilie 2024, 22:22 Evaluare finalizată E.C
Cazacu Razvan (RazvanCazacu) lant2 10 Aprilie 2024, 12:36 Evaluare finalizată 100
Cazacu Razvan (RazvanCazacu) lant2 10 Aprilie 2024, 12:36 Evaluare finalizată 0
Cazacu Razvan (RazvanCazacu) lant2 10 Aprilie 2024, 12:35 Evaluare finalizată 100
Cazacu Razvan (RazvanCazacu) lant2 10 Aprilie 2024, 12:31 Evaluare finalizată 0
Cazacu Razvan (RazvanCazacu) lant2 10 Aprilie 2024, 12:28 Evaluare finalizată 0
Cazacu Razvan (RazvanCazacu) lant2 10 Aprilie 2024, 12:27 Evaluare finalizată 0
Cazacu Razvan (RazvanCazacu) lant2 10 Aprilie 2024, 11:32 Evaluare finalizată E.C
Cismaru Theodor-Alexe (Theo20067) lant2 10 Aprilie 2024, 10:14 Evaluare finalizată 100
Cismaru Theodor-Alexe (Theo20067) lant2 10 Aprilie 2024, 09:54 Evaluare finalizată E.C
Mitri Robert (Robertutul) lant2 09 Aprilie 2024, 11:15 Evaluare finalizată 100
Mitri Robert (Robertutul) lant2 09 Aprilie 2024, 10:34 Evaluare finalizată 20
Raileanu Alexandru (AlexandruR2008) lant2 03 Aprilie 2024, 13:28 Evaluare finalizată 100
Preda Alin Catalin (Preda_Catalin) lant2 14 Martie 2024, 12:12 Evaluare finalizată 100
Ciuc Eliza (ciucelizamaria) lant2 14 Martie 2024, 10:47 Evaluare finalizată 100
Mazilu Stefan (stefan7) lant2 13 Martie 2024, 18:21 Evaluare finalizată 0