Witam,
po raz n-ty proszę Was o pomoc :) Tym razem problem dotyczy zadania "dzielenie pizzy" http://pl.spoj.com/problems/MWP3_3D/.
Wyrzuca mi "błędna odpowiedź", a wprowadzone przeze mnie testy wyprowadzają poprawne wyniki. Brakuje mi pomysłu co jest nie tak.
Czy mógłby ktoś podać przykładowe wejście, które zostanie źle obliczone?
Być może ominęłam jakiś warunek, haczyk czy coś :P
Na wejściu jest postawiony warunek, że liczba osób to minimum 3, dlatego pominęłam sytuację, w której byłaby jedna osoba i 0 cięć.
Program może mi nie przejść czasowo, ale to już druga sprawa, chcę najpierw dociec co jest nie tak :)
#include<iostream>
#include<math.h>
using namespace std;
double zaokraglij(double liczba);
int main()
{
int t,n;
double obwod, niezaokraglona,a, ilosc;
cin >> t;
for (int i=0; i<t; i++)
{
cin >> a >> n;
obwod = M_PI*a;
if (n%2 == 0)
ilosc = n;
else
ilosc = 2*n;
niezaokraglona = obwod/(ilosc/2);
if (n%2 == 0) cout << zaokraglij(obwod/(ilosc)) << " " << ilosc/2 << endl;
else cout << zaokraglij(obwod/(ilosc)) << " " << ilosc/2 << endl;
}
}
double zaokraglij(double x)
{
int y = x * 10000;
if (y % 10 >= 5) y += 10;
return (y / 10) * 0.001;
}
Pozdrawiam.