Witam, mam problem z zadaniem ze SPOJ'a, dla przykładu testowego wyniki są poprawne, a SPOJ podaje błąd. Część kodu:
const float x = 0.5;
float obwod(vector <int>tab)
{
float r1=0 ;
float r2=0;
float length=0;
float l=0;
for (unsigned int i = 0; i <tab.size(); i++)
{
if(i==0)
{
r1 = tab.at(i+1)-tab.at(i)-x;
l=tab[i]+r1;
length+=r1*2;
}
else if (i>0&&i!=tab.size()-1)
{
r1 =tab.at(i)-l;
r2 = tab.at(i+1) - tab.at(i)-x;
if(r1<=r2)
{
length+=r1*2;
l = r1+tab.at(i);
}
else
{
length+=r2*2;
l = r2+tab.at(i);
}
}
else if (i==tab.size()-1)
{
r1 = tab.at(i)-l;
length+=r1*2;
}
}
return length*3.1415;
}
Zakładam że każdy okrąg ma pole co najmniej równe pi.
link do zadania: http://pl.spoj.com/problems/PZPI06_3/
Ktoś nakieruje mnie co robię źle ? Pozdrawiam