Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal ABC

Войти
Регистрация
Восстановить пароль
 
Jaguar
392 / 278 / 20
Регистрация: 06.08.2010
Сообщений: 834
#1

Хороший гнусмас-мертвый гнусмас - Pascal ABC

25.02.2013, 16:39. Просмотров 428. Ответов 1
Метки нет (Все метки)

Добрый день. Есть задача из http://acm.timus.ru/.

Мое решение:

Pascal
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
FUNCTION phi(x1, y1, x2, y2:Integer):Real; // Функция определения угла между двумя отрезками с координатами концов (x1;y1) и (x2;y2).
Var cos_x, arccos_cos_x:Real;
BEGIN
cos_x:=(x1 * x2 + y1 * y2) / (sqrt(x1*x1 + y1*y1) * sqrt(x2*x2 + y2*y2)); // Косинус угла между двумя отрезками(формула скалярного произведения).
if cos_x = 1 then phi:=0   // Если косинус равен 1, то угол равен 0
else
if cos_x =-1 then phi:=180 // Если косинус равен -1, то угол равен 180
else
 begin
arccos_cos_x:=2 * 180/PI * ArcTan( sqrt ((1-cos_x) / (1+cos_x)) ); // Арккосинус угла между двумя отрезками(формула).
phi:=arccos_cos_x;
 end;
END;
 
Var D, x1, y1, x2, y2, N, i:Integer;
    x, y:array[1..30001] of Integer;
    a, a_1, a_2:Real;
    
BEGIN
ReadLn(D, x1, y1, x2, y2);             // Вводим дальность стрельбы D и координаты концов отрезков: (x1;y1) и (x2;y2).
ReadLn(N);                             // Вводим количество гнусмасов.
a:=phi(x1, y1, x2, y2);                // Угол между двумя отрезками, которые образуют сектор угла а.
 
for i:=1 to N do
ReadLn(x[i],y[i]);    // Вводим координаты гнусмасов.
 
for i:=1 to N do
 begin
 
a_1:=phi(x1, y1, x[i], y[i]);          // Угол между отрезком с координатами концов (x1;y1) и отрезком с координатами концов (x[i];y[i])
a_2:=phi(x2, y2, x[i], y[i]);          // Угол между отрезком с координатами концов (x2;y2) и отрезком с координатами концов (x[i];y[i])
 
if ( abs( a_1 + a_2 - a ) < 0.000001 ) AND ( sqr(x[i]) + sqr(y[i]) <= sqr(D) ) then WriteLn('Yes')  // Если гнусмас находится в секторе обстрела
                                                                                                    // и расстояние от домика Боба до него
                                                                                                    // не превышает дальности стрельбы, то пиши да, иначе нет.
else  WriteLn('No');
 end;
END.
Проверьте, пожалуйста, решение. Система где-то находит 1 ошибку.

Рисунок и условие к задаче:
0
Миниатюры
Хороший гнусмас-мертвый гнусмас   Хороший гнусмас-мертвый гнусмас  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2013, 16:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Хороший гнусмас-мертвый гнусмас (Pascal ABC):

Гнусмас NP-R518 - Ремонт ноутбуков
упал со стола с помощью кошки, матрица кердык... Ребята, сколькло стоит матрица на это чудо китайской инженерной мысли и где взять?...

Мертвый scroll - JavaScript
Есть ли возможность сделать такую функцию на js, что бы в любой момент при ее вызове scroll документа становился &quot;мертвым&quot; (при прокрутке...

Мертвый вывод Atmega 32 - AVR
Добрый день. Приобрел новый мк Atmega32. Начал проверку выводов, обнаружил, что вывод PC4(TDO) не работает, то бишь не посылает сигналы...

Найти мертвый цикл - Delphi
Здравствуйте! Помогите, пожалуйста, найти решение проблемы ... Имеется тонна кода, среди этого кода где-то сидит мертвый цикл,...

Nvidia мертвый экран - Ноутбуки
Всем привет. имеется древний ноут acer aspire 7739zg, после обновления дров видюхи 520м, на самые последние, после перезагрузки ...

Как восстановить мертвый биос? - Ноутбуки
Здравствуйте! Имеется ноутбук Lenovo Z580. Слетел биос (или стёрся). При включении чёрный экран и ВСЁ. Есть кнопка NOVO BUTTON MENU. Она...

1
Jaguar
392 / 278 / 20
Регистрация: 06.08.2010
Сообщений: 834
02.03.2013, 22:14  [ТС] #2
Ну кто-нибудь посмотрите пожалуйста... Все перепробовал - не идет.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2013, 22:14
Привет! Вот еще темы с ответами:

Мертвый экран на Geforce GTX 560 ti - Видеокарты
Всем привет! Подскажите, у меня такая проблема. Сидел на ютюбе, и комп сам перезагрузился, и после перезагрузки выскакивает синий...

*Мертвый* компьютер. Материнка 645Е мах2. - Компьютерное железо
В начале стал зависать комп. После перезапуска мог работать сколь угодно, а мог зависнуть сразу. Проверка глюков не выявила. Попробовал...

Воскресить мертвый TP-LINK TL-WR741ND OpenWRT - Сетевое оборудование
TP-LINK TL-WR741ND OpenWRT Привет всем, хотел обновить прошивку на роутере, но случайно закинул образ с неправильной файловой системой...

Жесткий диск. Подскажите: мертвый или что то можно сделать? - Жесткие диски
Привет. Подскажите мертвый или что то можно сделать? Может можно инфу достать с него? raw-значения в десятичной системе


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru