Олимпиады по информатике (ХМАО - Югра)

   
 
Югорский НИИ ИТ, Югорский ФМЛ
Логин:   Пароль:    
 
   
 
Новости
О проекте
Регистрация
Гостевая книга
Форум
Архив задач
Состояние системы
Олимпиады
Работа в системе
Рейтинг
Новичкам
Методическое пособие
Дистанционное обучение
Дистрибутивы
Ссылки

















Площадь треугольника

(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Решение №1

Данную задачу возможно решить, используя формулу Герона:

Здесь a,b и c – длины сторон треугольника. Для вычисления длин сторон можно использовать формулу для вычисления расстояния между точками с координатами (x1,y1) и (x2,y2):

Таким образом, мы получаем следующий алгоритм решения данной задачи:

  read(x1,y1,x2,y2,x3,y3)
  c=sqrt(sqr(y1-y2)+sqr(x1-x2))
  a=sqrt(sqr(y2-y3)+sqr(x2-x3))
  b=sqrt(sqr(y1-y3)+sqr(x1-x3))
  p=(a+b+c)/2
  s=sqrt(p*(p-a)*(p-b)*(p-c))
  write(s)
Решение №2

Существует и более простое решение данной задачи, если использовать менее знакомую, но более практичную формулу для вычисления площади треугольника по координатам его вершин:

В данном случае получаем простое алгоритмическое решение:

  read(x1,y1,x2,y2,x3,y3)
  write((x1-x2)*(y3-y2)-(y1-y2)*(x3-x2))/2)

Заметим также, что при реализации данной задачи следует использовать вещественные типы, т.к. ответ может быть достаточно большим числом. Поэтому желательно использование больших вещественных типов (extended или double). Например, использование типа float в Си не позволит пройти все тесты.

[Все попытки] [Задача]


 
     
Югорский НИИ ИТ, Югорский ФМЛ