pbinfo problema #2014
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:
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.
URGENT!!!
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("canguri.in");
ofstream g("canguri.out");
short n1,s1,n2,s2,n3,s3,nr;
int main()
{
f >> n1 >> s1 >> n2 >> s2 >> n3 >> s3;
if (s1>s2 && s1>s3)
{
g << n1 << "\n";
nr=800/s1;
if (800%s1) ++nr;
g << nr;
}
if (s2>s1 && s2>s3)
{
g << n2 << "\n";
nr=800/s2;
if (800%s2) ++nr;
g << nr;
}
if (s3>s2 && s3>s1)
{
g << n3 << "\n";
nr=800/s3;
if (800%s3) ++nr;
g << nr;
}
}
Explicație:
Răspuns:
#include<fstream>
using namespace std;
ifstream fin("canguri.in");
ofstream fout("canguri.out");
int main()
{
int a,aa,b,bb,c,cc,d=800,nr=0;
fin>>a>>aa>>b>>bb>>c>>cc;
if(aa>cc && aa>bb)
{
nr=d/aa;
if(d%aa>0)
{
nr++;
}
fout<<a<<endl;
fout<<nr;
}
else if(cc>bb&&cc>aa)
{
nr=d/cc;
if(d%cc>0)
{
nr++;
}
fout<<c<<endl;
fout<<nr;
}
else if(bb>cc && bb>aa)
{
nr=d/bb;
if(d%bb>0)
nr++;
fout<<b<<endl<<nr;
}
return 0;
}
Explicație: