La proba de atletism s-au calificat trei canguri care trebuie să efectueze sărituri pe o pistă de 800 metri.
Fiecare cangur se aliniază la linia de start, îşi lipeşte pe marsupiu eticheta cu numărul său de concurs iar apoi când se dă stratul efectuează săritură după săritură până trece linia de sosire.
Cunoscând lungimea săriturii fiecărui cangur (exprimată în metri) şi faptul că nu există doi canguri cu sărituri de aceeaşi lungime, scrieți un program care să determine:
Cerința
a) Numărul de concurs al cangurului care ajunge primul la linia de sosire;
b) Numărul săriturilor efectuate de cangurul care a trecut primul linia de sosire.
Date de intrare
Din fişierul de intrare canguri.in
se citesc:
- de pe primele trei linii, câte două numere naturale despărțite prin câte un spațiu, ce reprezintă numărul de concurs respectiv lungimea săriturii fiecărui cangur.
Date de ieșire
În fişierul canguri.out
se va scrie:
- pe prima linie, numărul de concurs al cangurului care trece primul linia de sosire;
- pe cea de-a doua linie, un număr natural ce reprezintă numărul săriturilor efectuate de cangurul care a trecut primul linia de sosire.
Restricții și precizări
- Numerele scrise pe etichetele de concurs sunt numere naturale cu maximum trei cifre
- pentru determinarea corectă a numărului de concurs se acordă 60% din punctaj; pentru determinarea corectă a numărului de sărituri se acordă 40% din punctaj
Exemplu
canguri.in
769 2 354 6 129 4
canguri.out
354 134
Explicație
Primul cangur are numărul de concurs 769
şi lungimea săriturii egală cu 2
metri.
Cel de-al doilea cangur are numărul de concurs 354
şi lungimea săriturii de 6
metri.
Cel de-al treilea cangur are numărul de concurs 129
și lungimea săriturii de 4
metri.
Primul va trece linia de sosire cangurul cu numărul de concurs 354
.
El va efectua 134
de sărituri pentru a trece linia de sosire.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Canguri:
#include <iostream>
#include <fstream>
using namespace std;
fstream fin("canguri.in", ios::in), fout("canguri.out", ios::out);
int main()
{
int nr1 , nr2 , nr3 , pas1 , pas2 , pas3;
fin >> nr1 >> pas1;
fin >> nr2 >> pas2;
fin >> nr3 >> pas3;
int pasmax = pas1, nrmax = nr1;
if(pas2 > pasmax)
pasmax = pas2, nrmax = nr2;
if(pas3 > pasmax)
pasmax = pas3, nrmax = nr3;
fout << nrmax << "
";
if(800 % pasmax == 0)
fout << 800 / pasmax;
else
fout << 800 /pasmax + 1;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2014 Canguri
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2014 Canguri de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!