Soluții trimise

Rezumat problemă

#1205

Pe vremea maurilor, transmiterea unor mesaje codificate între două persoane se făcea folosind un cifru numit nod. Cele două persoane alegeau în secret o poveste. Aceasta era scrisă într-o carte folosind litere mici și mari ale alfabetului englez, pe P pagini, numerotate de la 1 la P, fiecare conținând exact R rânduri, numerotate în cadrul fiecărei pagini de la 1 la R, iar fiecare rând fiind format din exact C cuvinte, numerotate în cadrul fiecărui rând de la 1 la C.

Un cuvânt al mesajului de transmis era codificat prin poziția sa în povestea aleasă de cei doi, folosind trei numere scrise cu cifre romane, ce indicau în ordine: numărul paginii, numărul rândului în cadrul paginii, respectiv al cuvântului în cadrul rândului.
Mesajul astfel codificat era scris pe trei linii. Pe prima linie erau scrise numerele paginilor, pe a doua linie numerele rândurilor, iar pe a treia linie erau scrise numerele de ordine ale cuvintelor.

Presupunem că mesajul este format din primul cuvânt de pe al cincilea rând al celei de a doua pagini și din al patrulea cuvânt de pe rândul al doilea al primei pagini. Mesajul putea fi transmis pe trei linii în modul următor:

  • II I (numerele paginilor)
  • V II (numerele rândurilor)
  • I IV (numerele cuvintelor)

Cifrele romane sunt scrise cu majusculele M, D, C, L, X, V, I, iar valorile corespunzătoare lor sunt în ordine: 1000, 500, 100, 50, 10, 5, 1. Valoarea unui număr scris cu cifre romane se calculează parcurgând de la stânga la dreapta cifrele numărului astfel:

  • cifra curentă se adună la valoarea obținută până în acel moment, dacă cifra următoare este mai mică sau egală cu ea;
  • cifra curentă se scade din valoarea obținută până în acel moment, dacă cifra următoare este mai mare decât ea;
  • ultima cifră se adună întotdeauna la valoarea obținută până în acel moment.

De exemplu pentru numărul MCDXLVI scris cu cifre romane, se obține valoarea 1446 în sistem zecimal, astfel: 1000-100+500-10+50+5+1, iar pentru numărul XXI scris cu cifre romane se obține valoarea 21 în sistemul zecimal astfel: 10+10+1.

Cunoscându-se textul poveștii ales de cei doi și mesajul codificat de ei scrieți un program care rezolvă următoarele două cerințe:

a) Rescrie mesajul codificat folosind scrierea cu cifre din sistemul zecimal.
b) Afișează toate cuvintele mesajului decodificat în ordinea în care acestea apar în poveste.

ID   Utilizator Problema Data încărcării Stare
Peter Tobias (PeterTobias) Nod 27 Martie 2026, 12:07 Evaluare finalizată 100
Goga Silviu (silviuioan) Nod 17 Martie 2026, 20:02 Evaluare finalizată E.C
Goga Silviu (silviuioan) Nod 17 Martie 2026, 20:01 Evaluare finalizată 100
Goga Silviu (silviuioan) Nod 17 Martie 2026, 20:00 Evaluare finalizată E.C
Paduretu Andrei Stefan (Stefan_andrei13) Nod 16 Martie 2026, 10:59 Evaluare finalizată 100
Paduretu Andrei Stefan (Stefan_andrei13) Nod 16 Martie 2026, 10:34 Evaluare finalizată 30
Paduretu Andrei Stefan (Stefan_andrei13) Nod 16 Martie 2026, 10:32 Evaluare finalizată 0
Paduretu Andrei Stefan (Stefan_andrei13) Nod 16 Martie 2026, 10:31 Evaluare finalizată 0
Paduretu Andrei Stefan (Stefan_andrei13) Nod 16 Martie 2026, 10:28 Evaluare finalizată 0
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 11:31 Evaluare finalizată 100
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 11:28 Evaluare finalizată 0
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 11:28 Evaluare finalizată 50
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 11:27 Evaluare finalizată 0
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 11:25 Evaluare finalizată 50
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 11:23 Evaluare finalizată 50
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 11:23 Evaluare finalizată 50
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 11:22 Evaluare finalizată 0
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 10:56 Evaluare finalizată 30
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 10:52 Evaluare finalizată 0
Tanasoiu Darius Andrei (darius_tanasoiu) Nod 14 Martie 2026, 10:51 Evaluare finalizată 0
Angel Rebecca (Angel_Rebecca) Nod 13 Martie 2026, 08:37 Evaluare finalizată 0
Angel Rebecca (Angel_Rebecca) Nod 13 Martie 2026, 08:35 Evaluare finalizată 0
Angel Rebecca (Angel_Rebecca) Nod 13 Martie 2026, 08:29 Evaluare finalizată 0
Angel Rebecca (Angel_Rebecca) Nod 13 Martie 2026, 08:14 Evaluare finalizată 0
Angel Rebecca (Angel_Rebecca) Nod 12 Martie 2026, 13:52 Evaluare finalizată 0
Angel Rebecca (Angel_Rebecca) Nod 12 Martie 2026, 10:34 Evaluare finalizată 20
Prodan Alexandra (genius112) Nod 25 Februarie 2026, 08:29 Evaluare finalizată 100
Prodan Alexandra (genius112) Nod 24 Februarie 2026, 21:15 Evaluare finalizată 30
Prodan Alexandra (genius112) Nod 24 Februarie 2026, 21:08 Evaluare finalizată 30
Acatrini Rares Andrei (AndreiRares1801) Nod 21 Februarie 2026, 14:15 Evaluare finalizată 100
Acatrini Rares Andrei (AndreiRares1801) Nod 21 Februarie 2026, 14:14 Evaluare finalizată E.C
. . (rexzy1000) Nod 08 Noiembrie 2025, 01:49 Evaluare finalizată 100
nicoara calin (catalinpro123) Nod 24 Septembrie 2025, 21:54 Evaluare finalizată 60
nicoara calin (catalinpro123) Nod 24 Septembrie 2025, 21:53 Evaluare finalizată 60
nicoara calin (catalinpro123) Nod 24 Septembrie 2025, 21:49 Evaluare finalizată 60
nicoara calin (catalinpro123) Nod 24 Septembrie 2025, 21:48 Evaluare finalizată 60
Petre Alexia-Bianca (informatica1218) Nod 23 Septembrie 2025, 09:33 Evaluare finalizată 100
Petre Alexia-Bianca (informatica1218) Nod 23 Septembrie 2025, 09:22 Evaluare finalizată 30
Petre Alexia-Bianca (informatica1218) Nod 23 Septembrie 2025, 09:22 Evaluare finalizată 30
nicoara calin (catalinpro123) Nod 23 Septembrie 2025, 08:34 Evaluare finalizată 30
Raduta Mihail (Mihailraduta) Nod 07 August 2025, 13:31 Evaluare finalizată 100
Raduta Mihail (Mihailraduta) Nod 07 August 2025, 13:30 Evaluare finalizată 100
Raduta Mihail (Mihailraduta) Nod 07 August 2025, 13:26 Evaluare finalizată 50
Raduta Mihail (Mihailraduta) Nod 07 August 2025, 13:25 Evaluare finalizată 50
Dinca Matei (rhyhrrhy) Nod 07 Iulie 2025, 12:03 Evaluare finalizată 0
Dinca Matei (rhyhrrhy) Nod 07 Iulie 2025, 12:00 Evaluare finalizată E.C
Mailat Diana (diana_stefania) Nod 11 Aprilie 2025, 23:48 Evaluare finalizată 0
Mailat Diana (diana_stefania) Nod 11 Aprilie 2025, 20:26 Evaluare finalizată 100
Mailat Diana (diana_stefania) Nod 11 Aprilie 2025, 19:48 Evaluare finalizată 30
Barat David-Pavel (dackduck) Nod 09 Aprilie 2025, 10:30 Evaluare finalizată 100
Du-te sus!