Chirurgia spinală minim invazivă
Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical. Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale. www.neurohope.ro |
Am nevoie de ajutor la o problema in c++
Last Updated: Jan 10 2018 21:26, Started by
GunMK
, Jan 10 2018 17:55
·
0
#1
Posted 10 January 2018 - 17:55
Va rog frumos sa ma ajutati. Deci trebuie sa fac aceasta problema si nu imi iese : http://prntscr.com/hykn95
Am incercat sa fac ceva dar nu merge de fiecare data : short n,m,k,s=0; ifstream f("brazi.in"); ofstream g("brazi.out"); f >> n >>m>>k; while(n > 0 && m > 0){ m=m-2; n=n-k+2; s++; } g << s; f.close(); g.close(); Problema nu este tema ci este o varianta de la un concurs judetean pe care ma chinui sa o rezolv deci m-ar ajuta daca ati venii cu niste idei, multumesc! |
#2
Posted 10 January 2018 - 19:53
Dupa mine e o problema mai mult de matematica decat de programare. Asa la ceas de seara (deci poate ma insel), mi se pare ca pentru a avea o repartizare conform cerintelor problemei cu s brazi e necesar si suficient sa fie indeplinite simultan conditiile:
Odata ce se verifica aceste conditii (a doua cu s eliminat sa ramana doar termenii extremi), cum problema cere s minim rezultatul este ceil ((m + n) / k). |
#3
Posted 10 January 2018 - 20:09
algoritmul tau nu detecteaza situatia in care globurile nu pot fi aranjate conform cerintelor. prima conditie ( floor (m / 2) >= s ) este cea care determina daca exista sau nu solutie.
Edited by _Smiley_, 10 January 2018 - 20:19. |
#4
Posted 10 January 2018 - 20:24
Algoritmul initiatorului pune totdeauna doar cate 2 globuri argintii si restul aurii (exceptie ultimul brad pe care il face varza ), desi in functie de valori pentru a obtine numarul minim de brazi poate fi nevoie sa puna mai mult de atat, chiar in toti brazii. De exemplu (n, m, k) = (2, 10, 6) se rezolva cu 2 brazi, cate 5 globuri argintii + 1 auriu in fiecare brad.
Edited by sags, 10 January 2018 - 20:40. |
#5
Posted 10 January 2018 - 21:26
"Nu mai mult de K globulete pentru fiecare brad" => cel putin (N + M) / K brazi
"Cel putin 2 sa fie argintii" => cel mult M / 2 brazi |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users