Меню

  Главная
  Задачи
  Полное решение
  Архив
  Материалы
  Форум
  Гостевая
  Вступить
 

В избранное

  Левые повороты

Условие задачи:

Маршрут движения автомобиля задан в виде координат вершин ломаной.
Необходимо определить количество левых поворотов (смежные участки ломаной не лежат на одной прямой). Автомобиль начинает движение с любой точки (!!!Здесь уточнение от меня - автомобиль начинает движение из первой вершины ломаной, а вот ее координаты любые!!!).
Формат входных данных:
Первая строка входного файла input.txt состоит из одного числа, количества звеньев ломаной; в последующих строках - пары натуральных чисел, координаты вершин ломаной.
Формат выходных данных:
Выходной файл output.txt содержит одно число - количество левых поворотов

 

Решение:

Итак, создадим два массива, в один из них будем записывать координату Х, а в другой - Y. Возможны 
несколько случаев:
1. Когда координата Х увеличилась и Y также. Тогда это поворот влево.
2. Когда координата X уменьшилась и Y увеличилась. Тогда это поворот влево.
3. Когда координата Х осталась неизменной, а Y увеличилась. Тогда это поворот влево.
Пояснение:

for i:=1 to n-1 do begin

      if  (x[i+1]>x[i]) and (y[i+1]>y[i]) then inc(k);

      if (x[i+1]<x[i]) and (y[i+1]>y[i]) then inc(k);

      if (x[i]=x[i+1]) and (y[i+1]>y[i[) then inc(k);

end;

Здесь: n-число звеньев ломанной, k-количество поворотов.

 

  Статистика

 

 

Поиск

Найти на странице

 

Часы

 

Сайт управляется системой uCoz