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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2012, 14:16   #1
makskovalko
Пользователь
 
Аватар для makskovalko
 
Регистрация: 23.04.2012
Сообщений: 82
По умолчанию Интересная задача

Здравствуйте! Помогите, пожалуйста, решить задачу.
Условие:
Цитата:
Фермер Иван с юности следит за своим газоном. Газон можно считать плоскостью, на которой в каждой точке с целыми координатами растет один пучок травы.

В одно из воскресений Иван воспользовался газонокосилкой и постриг некоторый прямоугольный участок газона. Стороны этого участка параллельны осям координат, а две противоположные вершины расположены в точках (x1, y1) и (x2, y2). Следует отметить, что пучки травы, находящиеся на границе этого прямоугольника, также были пострижены.

Довольный результатом Иван купил и установил на газоне дождевальную установку. Она была размещена в точке с координатами (x3, y3) и имела радиус действия струи r. Таким образом, установка начала поливать все пучки, расстояние от которых до точки (x3, y3) не превышало r.

Все было хорошо, но Ивана заинтересовал следующий вопрос: сколько пучков травы оказалось и пострижено, и полито в это воскресенье?

Требуется написать программу, которая позволит дать ответ на вопрос Ивана.
makskovalko вне форума Ответить с цитированием
Старый 12.08.2012, 14:40   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Какая помощь необходима?
waleri вне форума Ответить с цитированием
Старый 12.08.2012, 15:01   #3
makskovalko
Пользователь
 
Аватар для makskovalko
 
Регистрация: 23.04.2012
Сообщений: 82
По умолчанию

Решить задачу или написать алгоритм её решения.
makskovalko вне форума Ответить с цитированием
Старый 12.08.2012, 15:13   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Цитата:
Сообщение от makskovalko Посмотреть сообщение
Решить задачу или написать алгоритм её решения.
Алгоритм - это можно...
Например обходим все точки газона и смотрим
а) Находятся ли они в пределах скошеной части
б) Находятся ли ону в пределах поливания
и ведем подсчет точек, которые НЕ скошены и политы

Для первого условия надо проверять координаты на предмет принадлежности к прямоугольнику

Для второго условия надо вычислить расстояние между двумя точками (центра поливки и текущей точки) и посмотреть растояние меньше радиуса или нет.

Это несколько неоптимизированный алгоритм, зато легко реализуется.
waleri вне форума Ответить с цитированием
Старый 12.08.2012, 16:43   #5
makskovalko
Пользователь
 
Аватар для makskovalko
 
Регистрация: 23.04.2012
Сообщений: 82
По умолчанию

А можете выложить готовое решение на Паскале или на С++?
makskovalko вне форума Ответить с цитированием
Старый 12.08.2012, 18:33   #6
VikaR
Пользователь
 
Регистрация: 01.07.2011
Сообщений: 21
По умолчанию

Я могу, однако человек я весьма корыстный
VikaR вне форума Ответить с цитированием
Старый 12.08.2012, 18:47   #7
bananasus
Пользователь
 
Аватар для bananasus
 
Регистрация: 24.01.2011
Сообщений: 67
По умолчанию

Такое в разделе "Фриланс" просят)
bananasus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интересная задача Артем123 Паскаль, Turbo Pascal, PascalABC.NET 8 08.06.2011 01:12
Интересная задача rick1177 Microsoft Office Excel 13 18.05.2011 22:00
интересная задача Sagara2_kis7 Microsoft Office Excel 1 28.02.2011 20:17
Интересная задача terminadoor Помощь студентам 1 06.02.2009 20:00
Интересная задача! - DannerDOS.kz Паскаль, Turbo Pascal, PascalABC.NET 2 16.12.2008 14:04