Программа для робота на большом листе клетчатой бумаги нарисовали систему координат. в точке (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.

batkia228 batkia228    3   15.09.2019 08:40    0

Ответы
SeViK02 SeViK02  07.10.2020 16:40
ответ: 9504 

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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика