← Back to topics
Topic

Kako je moguce?!?!?!

s
seymourc64
Ne znam gde gresim u ovom jednostavnom zadatku,ali stalno dobijam da mi je tacno 9 od 10 primera,tj 10 mi je ne tacan.Zadatak je onaj sa kamionom sto treba da preveze max zapreminu iz mesta A u mesto B.Evo ga kod...:
...
if (d>=V || C<=d || C<=0){
maxA=V;
maxB=0;
}
else{
maxA=V;maxB=0;
while(maxA-d>0){ //da li mi se ispalti krenuti iz grada A?
//prvi deo
prenos=C;
if (prenos>maxA) prenos=maxA;
maxA-=prenos;
//potrosnja pri dolasku u B
prenos-=d;
//drugi deo
if (prenos<=d || prenos>=maxA-d){
maxB+=prenos;
break;
}
else
maxB+=prenos-d;
}
}
cout<<maxB<<" "<<maxA;

Ima li ko kakvu ideju,gde bi mogla biti greska?
r
renovator
Evo ti moj kod pa probaj da pronades gresku.Mrzi da
analiziram tvoj kod.
Pozdrav.

int main()
{
long V,R=0;
int d,C=0;
cin>>V>>d>>C;
if((C>d)and(V>0))
{
if(C>2*d)
{
V-=(R=V/C)*C;
R*=(C-2*d);
if(V>d)
{
if(R>0)
{
if(d>=V-d) R+=d;
if(d<V-d) {R+=V-d;V=0;}
}
else {R+=V-d;V=0;}
}
else if(R>0)R+=d;
}
else
{
if(V>d)
if(V>C)
{
R+=C-d;V-=C;
}
else {R+=V-d;V=0;}
}
}
cout<<R<<" "<<V<<endl;
return 0;
}