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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
serik13
3 / 3 / 0
Регистрация: 04.01.2011
Сообщений: 71
#1

Задача Газон - C++

23.09.2011, 18:37. Просмотров 1581. Ответов 1
Метки нет (Все метки)

Срочна нужна помощь в реализации в С++

Задачу нужно реализовать в с++

Газон

Имя входного файла: lawn.in
Имя выходного файла: lawn.out


Фермер Иван с юности следит за своим газоном. Газон можно считать плоскостью, на которой в каждой точке с целыми координатами растет один пучок травы.
В одно из воскресений Иван воспользовался газонокосилкой и постриг некоторый прямоугольный участок газона. Стороны этого участка параллельны осям координат, а две противоположные вершины расположены в точках (x1, y1) и (x2, y2). Следует отметить, что пучки травы, находящиеся на границе этого прямоугольника, также были пострижены.
Довольный результатом Иван купил и установил на газоне дождевальную установку. Она была размещена в точке с координатами (x3, y3) и имела радиус действия струи r. Таким образом, установка начала поливать все пучки, расстояние от которых до точки (x3, y3) не превышало r.
Все было хорошо, но Ивана заинтересовал следующий вопрос: сколько пучков травы оказалось и пострижено, и полито в это воскресенье?
Требуется написать программу, которая позволит дать ответ на вопрос Ивана.

Формат входных данных
В первой строке входного файла содержатся четыре целых числа x1, y1, x2, y2 (−100 000 ≤ x1 < x2 ≤ 100 000; −100 000 ≤ y1 < y2 ≤ 100 000).
Во второй строке входного файла содержатся три целых числа x3, y3, r (−100 000 ≤ x3, y3 ≤ 100 000; 1 ≤ r ≤ 100 000)

Формат выходных данных
В выходной файл необходимо вывести одно целое число — число пучков травы, которые были и пострижены, и политы.

Пример входных и выходных данных
lawn.in
0 0 5 4
4 0 3
lawn.out
14

Есть на Паскале:

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
39
40
41
42
43
44
type 
  abc=Int64;
var 
  x1,y1,x2,y2,x3,y3,x: longint; 
  k,r,y : abc;
  input,output: text;
function kol(x,z1,z2:longint):longint;
  var 
    min,max,k: longint;
  begin
    if (x<x1)or(x>x2)or(z1>y2)or(z2<y1) then 
      k:=0 
    else 
      begin
        min:=y1; 
        if z1>y1 then 
          min:=z1; 
        max:=y2; 
        if z2<y2 then 
          max:=z2;
        k:=max-min+1
      end;
     kol:=k
  end;
begin
  assign(input, 'input.txt'); 
  reset(input);
  assign(output, 'output.txt'); 
  rewrite(output);
  readln(input,x1,y1,x2,y2);
  read(input,x3,y3,r); 
  k:=kol(x3,y3-r,y3+r); 
  y:=r;
  for x:=1 to r-1 do 
    begin
      while sqr(x)+sqr(y)>sqr(r) do 
        y:=y-1;
      k:=k+kol(x3+x,y3-y,y3+y)+kol(x3-x,y3-y,y3+y)
    end;
  k:=k+kol(x3+r,y3,y3)+kol(x3-r,y3,y3);
  write(output,k); 
  close(input);
  close(output);
end.
 Комментарий модератора 
Используйте теги форматирования кода!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2011, 18:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача Газон (C++):

Задача: В некотором государстве ввели компьютерный паспорт гражданина.(задача) - Pascal
Доброго времени суток,форумчане. Хотелось бы попросить помощи в решении одной задачи от умных голов. Задача: В некотором...

Задача на k-тую цифру последовательности, задача на схему Горнера. - Pascal
Ну, собственно опять прошу помощи... Задача 1: Определить k-тую цифру последовательности 1234567891011121314…, в которой выписаны подряд...

Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника - PascalABC.NET
Задача Л.Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За каждую лошадь он уплатил по 31 талеру, а за каждого быка по...

Первая смешанная задача для волнового уравнения на отрезке (задача о колебаниях ограниченной струны) методом Фурье - Дифференциальные уравнения
Решить первую смешанную задачу для волнового уравнения на отрезке (задача о колебаниях ограниченной струны) методом Фурье ...

Задача о размещении весов по ящикам (задача о рюкзаках) - Delphi
Есть упорядоченный по невозрастанию набор весов предметов w1..wn, которые необходимо распределить по ящикам способным выдержать вес V,...

Задача линейного программирования, транспортная задача - Методы оптимизации
Всем привет. сижу на экзамене, помогите пожалуйста решить,сроно!!! заранее спасибо.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rыba
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 38
22.12.2013, 20:05 #2
Добрый вечер! если вас не затруднит,то не могли бы вы сделать пояснения к коду задачи,где что выполняется,буду очень признателен!!!заранее вас благодарю!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2013, 20:05
Привет! Вот еще темы с ответами:

Задача на файл и задача на создание очереди - Pascal
1 Дан символьный файл, содержащий, по крайней мере, один символ пробела. Удалить из файла все символы, предшествующие пробелу 2 ...

Задача Дам или задача Восьми - Алгоритмы
помогите найти ошибку в алгоритме. не находит ответ подозреваю ошибку в k, i, j package com.company; import java.util.Arrays;...

задача Коши и краевая задача - Matlab
Помогите кто чем может))

Задача работы с массивом и задача работы с формой - C#
Помогите пожалуйста. Никак не могу разобраться с решением 2х задач: 1. Напишите приложение, которое в заголовке формы выводит ее...


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

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

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