Soluții trimise

Rezumat problemă

#1205 Nod

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
Bedidic Stefan07 (StefanBedidic) Nod 10 Decembrie 2024, 06:51 Evaluare finalizată 100
Luca Radu (lucaradu16) Nod 03 Decembrie 2024, 19:53 Evaluare finalizată 100
Luca Radu (lucaradu16) Nod 03 Decembrie 2024, 19:42 Evaluare finalizată 0
Luca Radu (lucaradu16) Nod 27 Noiembrie 2024, 15:56 Evaluare finalizată 30
Tudor Ilinca (IlincaTudor1) Nod 23 Noiembrie 2024, 20:24 Evaluare finalizată 100
Tudor Ilinca (IlincaTudor1) Nod 23 Noiembrie 2024, 20:16 Evaluare finalizată 10
demian lavinia sara (Lavinia_Demian) Nod 22 Noiembrie 2024, 19:51 Evaluare finalizată 30
Moldovan Alexandru Bogdan (AlexMoldovan) Nod 16 Noiembrie 2024, 12:26 Evaluare finalizată 0
Bacain Octavian-Tiberiu (Octavian2007) Nod 13 Noiembrie 2024, 13:15 Evaluare finalizată 50
Bacain Octavian-Tiberiu (Octavian2007) Nod 13 Noiembrie 2024, 13:10 Evaluare finalizată 0
Moldovan Alexandru Bogdan (AlexMoldovan) Nod 13 Noiembrie 2024, 10:45 Evaluare finalizată 0
Moldovan Alexandru Bogdan (AlexMoldovan) Nod 13 Noiembrie 2024, 10:45 Evaluare finalizată 0
Fatu Mihai (mehai_me) Nod 09 Noiembrie 2024, 11:12 Evaluare finalizată 100
best in buzau (BestInBuzau) Nod 26 Septembrie 2024, 21:39 Evaluare finalizată 100
POPESCU ANDREI (andreip99) Nod 29 August 2024, 15:55 Evaluare finalizată 100
Boac Mihai Cosmin (Cosminane) Nod 03 Iulie 2024, 10:32 Evaluare finalizată 100
Boac Mihai Cosmin (Cosminane) Nod 03 Iulie 2024, 10:28 Evaluare finalizată 10
Boac Mihai Cosmin (Cosminane) Nod 03 Iulie 2024, 10:26 Evaluare finalizată 0
P. R. A. (RADUPOPESCUANDREI) Nod 03 Mai 2024, 17:05 Evaluare finalizată 100
Diaconu Andreea (Andreea0210) Nod 19 Aprilie 2024, 18:17 Evaluare finalizată 100
Luca Vartolomei (Lucaje123) Nod 17 Aprilie 2024, 21:20 Evaluare finalizată 100
Luca Vartolomei (Lucaje123) Nod 17 Aprilie 2024, 20:49 Evaluare finalizată 30
Sfichi Andrei (SfichiAndrei) Nod 17 Aprilie 2024, 15:48 Evaluare finalizată 30
Sfichi Andrei (SfichiAndrei) Nod 17 Aprilie 2024, 15:44 Evaluare finalizată 0
dumi_dum_dum Where are you? (andreidumitrache) Nod 16 Aprilie 2024, 22:15 Evaluare finalizată 100
SOFIAN ROSA (ROSA) Nod 16 Aprilie 2024, 16:33 Evaluare finalizată 100
SOFIAN ROSA (ROSA) Nod 16 Aprilie 2024, 15:36 Evaluare finalizată 30
Diaconu Andreea (Andreea0210) Nod 16 Aprilie 2024, 12:11 Evaluare finalizată 30
Mateiu Vladimir (MateiuVladimir) Nod 15 Aprilie 2024, 14:46 Evaluare finalizată 70
Mat ... (MatDoge) Nod 15 Aprilie 2024, 14:43 Evaluare finalizată 70
Pahonie George (Hezov) Nod 14 Aprilie 2024, 17:09 Evaluare finalizată 100
Nam Num (tRasHcaN27) Nod 14 Aprilie 2024, 10:49 Evaluare finalizată 100
Nam Num (tRasHcaN27) Nod 14 Aprilie 2024, 10:35 Evaluare finalizată 100
Nam Num (tRasHcaN27) Nod 14 Aprilie 2024, 00:07 Evaluare finalizată 30
Nam Num (tRasHcaN27) Nod 14 Aprilie 2024, 00:04 Evaluare finalizată 0
Luca Vartolomei (Lucaje123) Nod 12 Aprilie 2024, 15:51 Evaluare finalizată 100
Luca Vartolomei (Lucaje123) Nod 12 Aprilie 2024, 15:38 Evaluare finalizată 30
Antip David (AntipDavid) Nod 12 Aprilie 2024, 10:00 Evaluare finalizată 100
Antip David (AntipDavid) Nod 12 Aprilie 2024, 09:59 Evaluare finalizată E.C
Ardelean Mihai (Ardelean_Mihai_) Nod 11 Aprilie 2024, 10:14 Evaluare finalizată 100
Popa Maya (MayaPopa) Nod 09 Aprilie 2024, 09:49 Evaluare finalizată 0
Popa Maya (MayaPopa) Nod 09 Aprilie 2024, 09:47 Evaluare finalizată 0
Popa Maya (MayaPopa) Nod 09 Aprilie 2024, 08:41 Evaluare finalizată 30
Popa Maya (MayaPopa) Nod 08 Aprilie 2024, 14:55 Evaluare finalizată 0
Raileanu Alexandru (AlexandruR2008) Nod 04 Aprilie 2024, 21:03 Evaluare finalizată 100
LAZAR INGRID (Hell_Giver2079) Nod 24 Martie 2024, 08:46 Evaluare finalizată 100
LAZAR INGRID (Hell_Giver2079) Nod 20 Martie 2024, 19:32 Evaluare finalizată 0
LAZAR INGRID (Hell_Giver2079) Nod 20 Martie 2024, 19:25 Evaluare finalizată 40
Luca Vartolomei (Lucaje123) Nod 20 Martie 2024, 16:27 Evaluare finalizată 40
Luca Vartolomei (Lucaje123) Nod 20 Martie 2024, 16:26 Evaluare finalizată 10