Zaika20051
24.05.2023 00:02

Сдать решение задачи 7-Лес Полный : 100
Ограничение времени: 1 с
Ограничение памяти: 512M
Ограничение размера стека: 64M
Задача 7: Лес
Миша заблудился в лесу и пытается выйти. Он составил план маршрута выхода из леса. План состоит из N прямолинейных отрезков пути. Сначала Миша идёт a1 метров на север, потом a2 метров на восток, потом a3 метров на юг, затем a4 метров на запад, затем он опять начинает повторять направления в порядке север, восток, юг, запад, то есть a5 метров он проходит на север, a6 метров на восток и т.д.

Оказалось, что для того, чтобы выйти из леса из его первоначальной точки, ему нужно было пройти ровно K метров в любом из четырёх направлений, то есть первоначально Миша находится в центре квадрата со стороной 2K метров.

Введём систему координат, в которой Миша первоначально находился в центре координат, ось OX направлена на восток, ось OY направлена на север, а единица измерения равна 1 метру. Определите, в какой точке Миша выйдет из леса (впервые окажется на границе леса), если будет следовать своему плану, или в какой точке его маршрут закончится, если он не выйдет из леса.

Входные данные
Первая строка входных данных содержит целое положительное число K (1 ≤ K ≤ 109) — расстояние от начального расположения Миши до четырёх сторон квадрата (границ леса). Вторая строка содержит целое положительное число N (1 ≤ N ≤ 105) — количество отрезков в плане перемещений Миши. Следующие N строк содержат по одному числу a1, a2, ..., aN (1 ≤ ai ≤ 109) — длины отрезков в плане Миши в направлениях север, восток, юг, запад и т.д.

Выходные данные
Программа должна вывести два целых числа x и y — координаты точки, в которой Миша выйдет из леса (то есть маршрут Миши впервые окажется на границе леса). Если же Миша не выйдет из леса, выведите координаты точки, в которой завершится его маршрут.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
find1337
04.02.2022 13:30

В объяснении

Объяснение:

program zadacha;

const n= 6, m=6;

var a:array[1..n, 1..m] of integer;

   i, j, s, k: integer;

begin

  RANDOMIZE;

for i:=1 to n do

           begin

              for j:=1 to m do

             begin

              a[i,j]:= random (100)-50;

              write(a[i,j]:5);

           end;

           writeln;

             end;  

s:=0;  

k:=0;

for i:=1 to n do

for j:=1 to m do

 if i>j then

        begin

          k:=k+1;

          s:=s+a[i,j];

        end;

writeln('Сумма=',s);

writeln('Количество=',k);

readln;

end.

0,0(0 оценок)
Ответ:
artemykas
22.02.2022 06:21

На паскале

program zadanije_tri;

var a, b, c:integer;

begin

 writeln('Введите первое число.');

 readln(a);

 writeln('Введите второе число.');

 readln(b);

 if a=b then

   begin

   c:=a*a+b*b;

   writeln('Введённые числа равны, сумма их квадратов равна ',c,'.');

   end

 else

   begin

   c:=(a+b)*(a+b);

   writeln('Введённые числа не равны, квадрат их суммы равен ',c,'.');

   end

end.

Объяснение:

Если ввести равные ЦЕЛЫЕ числа, то программа выдаст сумму их квадратов, если ввести разные числа, то программа выдаст квадрат их суммы.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота