#627
Tripar
Mihai a găsit pe facebook o poză cu triunghiuri echilaterale aşezate în formă de piramidă, ca în figura de mai jos. El observă că piramida este compusă din mai multe benzi. Prima bandă conţine un triunghi echilateral, a doua bandă conţine 3
triunghiuri echilaterale, dintre care cel din mijloc este cu vârful în jos, a treia bandă conţine 5
triunghiuri echilaterale şi aşa mai departe.
El constată că fiecare triunghi de cea mai mică dimensiune poate fi divizat în mai multe triunghiuri și mai mici prin procedeul de împărțire a unui triunghi. Prin acesta se înțelege unirea mijloacelor laturilor triunghiului, două câte două, printr-un segment, obținându-se astfel 4
triunghiuri mai mici ce compun triunghiul respectiv, ca în figura următoare.
Mihai a analizat acest proces și a stabilit că dacă un triunghi este supus procedeului de împărțire, atunci toate triunghiurile din piramidă de dimensiunea lui vor trece prin acest procedeu. Astfel, el își pune următoarea întrebare: având N
piramide, fiecare având un anumit număr de benzi, câte triunghiuri de cea mai mică dimensiune și câte perechi de drepte paralele are fiecare piramidă, după ce s-a executat procedeul de împărțire de M
ori pe toate piramidele?
În prima figură o pereche de drepte paralele este formată din dreapta situată între benzile 2-3 și o dreaptă situată între benzile 3-4.
Cunoscând N
, M
și câte benzi are fiecare piramidă, se cere să se afișeze:
a) câte triunghiuri de cea mai mică dimensiune are fiecare piramidă, după executarea procedeului de împărțire de M
ori;
b) câte perechi de drepte paralele are fiecare piramidă, după executarea procedeului de împărțire de M
ori.
Problema | Tripar | Operații I/O |
tripar.in /tripar.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
Id soluție | #54858954 | Utilizator | |
Fișier | tripar.cpp | Dimensiune | 630 B |
Data încărcării | 10 Decembrie 2024, 15:51 | Scor / rezultat | Eroare de compilare |
tripar.cpp:23:26: warning: missing terminating " character [enabled by default] fout<<(x*x)<<" ^ tripar.cpp:23:13: error: missing terminating " character fout<<(x*x)<<" ^ tripar.cpp:24:1: warning: missing terminating " character [enabled by default] "; ^ tripar.cpp:24:1: error: missing terminating " character tripar.cpp:31:36: warning: missing terminating " character [enabled by default] fout<<(3*((x-1)*x)/2)<<" ^ tripar.cpp:31:13: error: missing terminating " character fout<<(3*((x-1)*x)/2)<<" ^ tripar.cpp:32:1: warning: missing terminating " character [enabled by default] "; ^ tripar.cpp:32:1: error: missing terminating " character tripar.cpp: In function 'int main()': tripar.cpp:25:9: error: expected primary-expression before '}' token } ^ tripar.cpp:25:9: error: expected ';' before '}' token tripar.cpp:33:9: error: expected primary-expression before '}' token } ^ tripar.cpp:33:9: error: expected ';' before '}' token
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Tripar face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.