Задача 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 — координаты точки, в которой Миша выйдет из леса (то есть маршрут Миши впервые окажется на границе леса). Если же Миша не выйдет из леса, выведите координаты точки, в которой завершится его маршрут.
Система оценки
Решения, правильно работающие, когда все входные числа не превосходят 100, будут оцениваться в
Пример
Ввод
Вывод
Пояснение
3
6
2
1
3
3
5
4
-2 3
На рисунке изображён первый пример из условия. Расстояние от начального расположения Миши до стороны квадрата равно 3. Маршрут Миши состоит из 6 отрезков, их длины 2, 1, 3, 3, 5, 4. Первоначальное расположение Миши (точка (0, 0)) и место, где Миша выйдет из леса (точка (-2, 3)) отмечены синими кругами. Отметим, что Миша выйдет из леса на предпоследнем отрезке намеченного пути.
2
1
1
0 1
Во втором примере из условия путь Миши состоит из одного отрезка длины 1 на сервер, а до границы леса расстояние 2, поэтому Миша закончит путь в клетке (0, 1) не выйдя из леса.
1) предусловие
program w;
var x,y: real;
begin
x:=1;
while x<=2 do
begin
y:=10*x/3;
writeln ('x = ',x:3,' y = ',y:0:3);
x:=x+0.2
end
end.
2) постусловие
program r;
var x,y: real;
begin
x:=1;
repeat
y:=10*x/3;
writeln ('x = ',x:3,' y = ',y:0:3);
x:=x+0.2
until x>2
end.
Объяснение:
1) предусловие
задаем начальное значение х
Цикл:
проверяем условие
считаем у
выводим значения х и у на экран
изменяем х на шаг
2) постусловие
задаем начальное значение х
Цикл:
считаем у
выводим значения х и у на экран
изменяем х на шаг
проверяем условие
1⁵ 0⁴ 1³ 0² 1¹ 0⁰ = 1 · 2⁵ + 0 · 2⁴ + 1 · 2³ + 0 · 2² + 1 · 2¹ + 0 · 2⁰ = 32 + 0 + 8 + 0 + 2 + 0 = 42₁₀
Задание 235 = 32 + 2 + 1 = 2⁵ + 2¹ + 2⁰ = 100 000 + 10 + 1 (в столбик - двоичное сложение) = 100011₂
Задание 3Стоит помнить, что:
1 + 1 = 10
1 + 1 + 1 = 11
1 + 1 + 1 + 1 = 100
Это происходит, потому что в 2-й системе счисления всего два числа - 0 и 1. В 10-й системе счисления это выглядело бы примерно так:
...
1 + 9 = 10
...
1 + 19 = 20
...
1 + 99 = 100
То есть переполнение числа приводит к тому, что цифра слева увеличивается на единицу. В случае, если есть девятка - то цифра слева увеличивается на 1.
999 + 1 = 1 0 0 0