Программка для роботаНа очень великом листе клетчатой бумаги нарисовали систему координат.
Программка для бота
На очень великом листе клетчатой бумаги нарисовали систему координат. В точке (0; 0) махонький бот. Он может исполнять команды RIGHT, LEFT, UP, DOWN, смещаясь на единичный отрезок в соответствующем направлении. Вася пишет программу для робота, состоящую ровно из 12 команд и приводящую его в точку с координатами (6; 4). Ему стало интересно: а сколько всего существует таких программ? Помогите ему ответить на этот вопрос. В качестве ответа укажите одно естественное число количество таких команд.
Комментарий. Если бот находится в начале координат и выполнил команду RIGHT, он окажется в точке (1; 0). Если после этого он выполнит команду LEFT, то возвратится назад в точку (0; 0). Если теперь он выполнит команду UP, то окажется в точке (0; 1), а если потом выполнит команду DOWN, то вновь возвратится в точку (0; 0). Программка бота это набор команд. Программы, отличающиеся перестановкой команд, считаются разными.
К примеру, есть 9 разных программ, состоящие ровно из 3 команд, приводящие бота из точки (0; 0) в точку (1; 0): RIGHT LEFT RIGHT; UP DOWN RIGHT; DOWN UP RIGHT; UP RIGHT DOWN; DOWN RIGHT UP; RIGHT UP DOWN; RIGHT DOWN UP; RIGHT RIGHT LEFT.
var steps := 12; // За кол-во ходов
var Xend := 6; // В точку с координатой X
var Yend := 4; // ... и Y
var vars := 0; procedure Find(step, X, Y : Integer);
begin
if step = 0 then
vars += (X = Xend) and (Y = Yend) ? 1 : 0
else
begin
Find(step - 1, X + 1, Y );
Find(step - 1, X - 1, Y );
Find(step - 1, X , Y + 1);
Find(step - 1, X , Y - 1);
end;
end;
begin
Find(steps, 0, 0);
Print(vars);
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.