Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2013, 14:49   #1
droxeda
Новичок
Джуниор
 
Регистрация: 30.01.2013
Сообщений: 3
По умолчанию Система охраны

Помогите пожалуйста! Вопрос жизни и смерти.

Задача 2. Система охраны
Ограничение по времени: 1 секунда на тест
Некоторое царство-государство окружено крепостной стеной с башнями, в которых
расположены дозорные. Для оперативного оповещения каждого дозорного между башнями
решили установить прямую телефонную. Ограниченная стеной территория царства-государства
представляет собой многоугольник ненулевой площади произвольного вида без самопересечений,
башни располагаются в его вершинах.
Можно ли построить такую прямую связь, соединяющую каждую башню с каждой, чтобы
кабель не проходил вне территории царства-государства.
Входные данные
В первой строке входного файла записано одно целое число ― количество тестов, не более
10. Описание каждого теста состит из двух строк, в первой строке указано одно целое число —
количество башен N (3 ≤ N ≤ 1000). Во второй строке через пробел перечислены целочисленные
координаты башен по порядку их следования друг за другом, начиная с произвольной. Для
каждой башни сначала указывается координата x, а затем y. Координаты по модулю не
превосходят 105. Считаем, что первая из перечисленных башен всегда соединена крепостной
стеной с последней.
Выходные данные
В выходной файл для каждого теста на отдельной строке необходимо вывести слово yes,
если возможно построить такую связь, или no в случае невозможности таковой.
Примеры
input.txt
1
5
output.txt

yes
droxeda вне форума Ответить с цитированием
Старый 30.01.2013, 14:56   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

пример имхо не соответствует заданию)
где координаты вершин то ?
*в лоб* проверить отрезки соединяющие одну вершину со всеми остальными на пересечение со стенами
Код:
function checkIntersection:shortint;
{
returns
  1 if there is one intersection point "c"
  0 if chunks ar on parallel lines
-1 if there are no intersection points
}
var d,da,db,ta,tb: real;
  begin
  d :=(a1.x-a2.x)*(b2.y-b1.y) - (a1.y-a2.y)*(b2.x-b1.x);
  da:=(a1.x-b1.x)*(b2.y-b1.y) - (a1.y-b1.y)*(b2.x-b1.x);
  db:=(a1.x-a2.x)*(a1.y-b1.y) - (a1.y-a2.y)*(a1.x-b1.x);
  writeln('d=',d:12:4,' da=',da:12:4,' db=',db:12:4);

  if (abs(d)<eps) then
    checkIntersection := 0
  else
    begin
    ta:=da/d;
    tb:=db/d;
    if    (0<=ta) and (ta<=1)
      and (0<=tb) and (tb<=1)
        then
          begin
          c.setPoint(a1.x+ta*(a2.x-a1.x),a1.y+ta*(a2.y-a1.y));
          checkIntersection := 1
          end
        else checkIntersection := -1;
    end;
  end;
(c) http://delphid.dax.ru/www/exampl34.htm
доделайте под свое задание
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 30.01.2013 в 15:08.
Mad_Cat вне форума Ответить с цитированием
Старый 30.01.2013, 15:02   #3
droxeda
Новичок
Джуниор
 
Регистрация: 30.01.2013
Сообщений: 3
По умолчанию

http://mepic.ru/view/?id=7e1015909fc...5bf31e31568c86

вот скрин
droxeda вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Система скидок + система заказов wartrade Фриланс 0 17.01.2013 11:38
ЕАИСТО (единая автоматизированная информационная система технического осмотра)система ioff83 HTML и CSS 0 09.01.2012 16:43
Система прерываний Funker Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.05.2010 03:15
Система принятия решения (Экспертная система) daranton Microsoft Office Excel 4 01.05.2010 17:55
Система (Си) Defa4ka Помощь студентам 2 01.10.2009 02:22