Форум программистов, компьютерный форум CyberForum.ru

чистая геометрия, но заваливается( - C++

Восстановить пароль Регистрация
 
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
28.09.2011, 18:32     чистая геометрия, но заваливается( #1
http://acm.timus.ru/problem.aspx?space=1&num=1084

Козла пустили в квадратный огород и привязали к колышку. Колышек воткнули точно в центре огорода. Козёл голоден, как волк, прожорлив, как бык, и ест всё, до чего дотянется, не перелезая через забор и не разрывая веревку. Какая площадь огорода будет объедена?

Исходные данные
Длина стороны огорода и длина верёвки в метрах (положительные целые числа, не превосходящие 100, расположенные в одной строке через пробел).
Результат

Площадь части огорода (в квадратных метрах, с точностью до 3 знаков после десятичной точки), объеденной козлом.

Пример
исходные данные
10 6
результат
95.091
мой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
#include <iomanip>
#define PI 3.14159265
using namespace std;
int main()
{
    double a, r,z,angle,angleokr,square;
    cin>>a>>r;
    if(r<=a/2)
        cout<<fixed<<setprecision(3)<<PI*r*r<<endl;
    else
    if(r>=a/sqrt(2.0))
        cout<<fixed<<setprecision(3)<<a*a<<endl;
    else
    {
        z=sqrt(r*r-(a*a/4));
        angle=atan(z/(a*0.5))* 180.0 / PI;
        angleokr=90.0-2*angle;
        square=4*(z*(a/2)+PI*r*r*(angleokr/360.0));
        cout<<fixed<<setprecision(3)<<square<<endl;
    }
}
Заваливает на 2 тесте. Почему? Где ошибка?

Добавлено через 1 минуту
Удаляйте тему, поспешил. В 12 строчке вместо PI я сначала 3.14 написал просто
Извините, администрация
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 18:32     чистая геометрия, но заваливается(
Посмотрите здесь:

C++ геометрия
Геометрия(треугольник) C++
Геометрия в С++. C++
Вычислительная геометрия на С C++
C++ Геометрия
C++ геометрия
Обработка изображений, чистая математик + Си++ | for newbie C++
Чистая виртуальная функция C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.09.2011, 18:33     чистая геометрия, но заваливается( #2
Округление происходит не до ближайшего, а усекается. Сделай округление ручками.
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
28.09.2011, 19:26  [ТС]     чистая геометрия, но заваливается( #3
Цитата Сообщение от Deviaphan Посмотреть сообщение
Округление происходит не до ближайшего, а усекается. Сделай округление ручками.
я говорю, что я уже всё исправил. Написал уже)
Yandex
Объявления
28.09.2011, 19:26     чистая геометрия, но заваливается(
Ответ Создать тему
Опции темы

Текущее время: 21:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru