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

Принадлежность точки к заданой плоскости - C++

Восстановить пароль Регистрация
 
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
27.04.2013, 00:40     Принадлежность точки к заданой плоскости #1
Доброго времени суток, этот вопрос уже подымался, но внятного ответа получено небыло
собственно задача:
Определите, принадлежит ли точка A, заданная координатами (x0; y0), части плоскости, ограниченной отрезком оси абсцисс от 0 до и синусоидой y = sin x.


Технические условия
Входные данные

В единственной строке заданы координаты заданной точки (x0; y0). Значения координат точки не превышают по модулю 100.

Выходные данные

В единственной строке вывести сообщение YES - в случае если точка принадлежит указанной части плоскости, NO - в случае, если не принадлежит, и ON BORDER - в случае, если нам "повезло" и точка принадлежит линии, которая ограничивает указанную часть плоскости. В этой задаче считать, что точка принадлежит любой из линий, ограничивающих заданную часть плоскости, если при одинаковых абсциссах расстояние от неё до какой-то из ограничивающих часть плоскости линий по оси ординат не превышает 0.00001, или же при одинаковых ординатах, расстояние от точки до какой-то из ограничивающих часть плоскости линий по оси абсцисс также не превышает 0.00001.
e-olimp
http://www.e-olimp.com/problems/2028

набросок:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
#include<algorithm>
#include<vector>
#include<map>
#include<iomanip>
 
using namespace std;
 
#define DB(a) cout<<#a<<"="<<a<<" ";
#define DBN(a) cout<<#a<<"="<<a<<endl;
 
 
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef vector<ll> vll;
typedef vector<pii> vpii;
typedef map<int, int> mii;
typedef set<int> seti;
 
//#define min(a,b) ((a)<(b)?(a):(b))
//#define max(a,b) ((a)>(b)?(a):(b))
//#define sqrt(a) (sqrt(1.0*(a)))
//#define sqr(a) ((a)*(a))
//#define all(a) (a.begin(),a.end())
 
 
//const int mod = 1000000007; // const int mod = 1000000009;
//const double EPS = 1E-7;
 
int main() {
    double x, y, fx, fr;
    cin >> x >> y;
    if (x > M_PI / 2) x -= M_PI / 2;
    fx = sin(2 * x);
    fr = asin(y) / 2;
    if ((x >= M_PI / 2 && x <= M_PI / 2) && (fabs(x - fabs(asin(y - 0.0001)) / 2) < 0.0001 || fabs(x - fabs(asin(y + 0.0001) / 2)) < 0.0001)) cout << "ON BORDER" << endl;
    else if (fx + 0.0001 < y || x<-0.0001 || y<-0.0001 || x > M_PI / 2 + 0.0001 || y > 1 + 0.0001) cout << "NO" << endl;
    else if ((x >= 0 && x <= M_PI / 2) && (fabs(y) < 0.0001 || fabs(y - fx) < 0.0001)) cout << "ON BORDER" << endl;
    else if (fabs(fx - y) < 0.0001 || fabs(fr - x) < 0.0001) cout << "ON BORDER" << endl;
    else cout << "YES" << endl;
    return 0;
}
11 тестов не проходит... подскажите пожалуйста что-нибудь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2013, 00:40     Принадлежность точки к заданой плоскости
Посмотрите здесь:

C++ Принадлежность точки к отрезку.
принадлежность точки прямоугольнику C++
C++ Принадлежность точки к заданной плоскости
Принадлежность точки N-угольнику. C++
принадлежность точки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
27.04.2013, 00:50     Принадлежность точки к заданой плоскости #2
Вообще-то эта задача с сайта на проверку своих собственных способностей.
Ты хочешь подняться в рейтинге за счет кого-то другого?
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
27.04.2013, 00:57  [ТС]     Принадлежность точки к заданой плоскости #3
Цитата Сообщение от lazybiz Посмотреть сообщение
на проверку своих собственных способностей
не всегда
IrineK
Заблокирован
27.04.2013, 04:09     Принадлежность точки к заданой плоскости #4
Первое, что можно заметить: в задаче ограничение пятого порядка, а в вашем исходнике - четвертого.
Yandex
Объявления
27.04.2013, 04:09     Принадлежность точки к заданой плоскости
Ответ Создать тему
Опции темы

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