Top.Mail.Ru
Ответы

ЗАДАЧА НА PYTHON 9 класс СРОЧНО!!!

Шпунтик очень любил мастерить разные вещи. Однажды он задумал соорудить машину для уборки улицы. Он трудился целую неделю и создал автомобиль "Винтик-2". Шпунтик запрограммировал автомобиль на выполнение трех команд:

Forward n - вызывает перемещение и исполнителя на n единицу расстояния и уменьшает заряд исполнителя на f(n) единиц;

Left - вызывает изменение направления движения на 90 градусов влево и уменьшает заряд исполнителя на 1 единицу.

Right - вызывает изменение направления движения на 90 градусов вправо и уменьшает заряд исполнителя на 1 единицу.

Функция f(n)=k, где k*k >=n, а (k-1)*(k-1) < n

Испытание своего изобретения запланировал на специальном полигоне, разлинованном на единичные клетки. В узел каждой клетки, кроме начальной, Шпунтик положил по 1 фантику. Автомобиль разместил в центре вдоль одной из линий.

Определите, сколько фантиков собрал бы исполнитель Винтик-2, если известны: начальный заряд исполнителя и список команд.

Считается, что команда может быть выполнена, если размера заряда хватает на её полное выполнение. Если заряда не хватает на выполнение команды, то исполнитель переходит к выполнению следующей команды.

Гарантируется, что размер помещения достаточен для выполнения всех команд.

Входные данные:

В первой строке указан начальный заряд исполнителя и количество команд N. В следующих N строках записаны команды для исполнителя.

Все числа натуральные и не более 1000000.

Выходные данные

Ответ на задачу - количество фантиков, которые успеет собрать исполнитель до окончания заряда или завершения программы



Примеры:

входные данные

Выходные данные

Пояснение

4 5

Left

Left

Left

Forward 2

Left

Forward 1



0

После выполнения трех команд у исполнителя останется 1 единица заряда,

которой не хватит на выполнение 4 команды, и она будет пропущена.

Исполнитель выполнит 5 команду. Исполнитель остался на месте.

4 5

Right

Forward 2

Left

Forward 1

Left

2



35 10

Forward 71

Left

Forward 40

Left

Forward 50

Left

Forward 84

Forward 46

Right

Forward 36



206

У Исполнителя всего 35 единиц заряда. На выполнение 1-й команды Исполнитель истратит 8 единиц заряда, 2-й команды - 1 заряд, 3-й команды - 7 зарядов, 4-й команды - 1 заряд, 5 команды - 8 зарядов, 6 команды - 1 заряд.

Таким образом, после выполнения 6-х команд у Исполнителя останется 9 единиц заряда.

Этого недостаточно для выполнения 7-й команды, и она будет пропущена.

Исполнитель ещё сможет выполнить 8 и 9 команды.

Траектория Исполнителя имеет самопересечения, поэтому количество собранных фантиков

меньше длины пройденного пути.

По дате
По рейтингу
Аватар пользователя
Ученик

я не уверен что кому то не лень это решать