Ибрагим002
20.08.2020 09:19

Сдать решение задачи B-Марсоход Феникс Задача B: Марсоход Феникс
Марсоход «Феникс» выполняет сбор грунта Марса, который необходимо отправить на Землю для последующего анализа. Для отправки грунта ему необходимо добраться с места раскопок до базы. К сожалению, если «Феникс» пройдет по кратчайшему пути до базы, то его центральный процессор может сломаться, так как в некоторых местах на Марсе очень высокий уровень радиации, который изменяет уровень изношенности центрального процессора, измеряющийся в пунктах. Чтобы иметь возможность его контролировать, ученые составили карту Марса, которая представляет собой клетчатое поле 7 \times 7. В зависимости от уровня радиации каждому квадрату было присвоено значение в диапазоне от 1 до 5, где каждое из значений означает следующее:

? 1 — уровень радиации в данной области приемлем и не повлияет на изношенность центрального процессора;

? 2 — уровень радиации в данной области выше нормы и увеличит изношенность процессора на 10 пунктов;

? 3 — уровень радиации в данной области выше нормы и увеличит изношенность процессора на 20 пунктов;

? 4 — уровень радиации в данной области выше нормы и увеличит изношенность процессора на 30 пунктов;

? 5 — уровень радиации в данной области выше нормы и увеличит изношенность процессора на 40 пунктов.

Раскопки проходили в области, соответствующей левой верхней клетке на этой карте. Изначальный уровень изношенности центрального процессора составляет 0 пунктов. Уровень радиации на месте раскопок и на базе соответствует 1 уровню, то есть никак не влияет на изношенность центрального процессора.

Вам, как оператору марсохода, необходимо провести «Феникс» так, чтобы изношенность процессора была как можно ниже после прибытия на базу. Если изношенность процессора достигнет 100 пунктов, марсоход больше не сможет отвечать на запросы оператора, что приведёт к провалу марсианской миссии.

Марсоход управляется с команд, которые записываются цифрами от 1 до 4. Каждая из этих цифр обозначает следующее:

? 1 — шагнуть вверх по вертикали на 1 клетку;

? 2 — шагнуть вниз по вертикали на 1 клетку;

? 3 — шагнуть вправо по горизонтали на 1 клетку;

? 4 — шагнуть влево по горизонтали на 1 клетку.

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

Вам необходимо через пробел записать последовательность команд (последовательность цифр из 1, 2, 3 или 4) для марсохода «Феникс», после выполнения которой он сможет добраться до базы.

Примечания
Например, пусть марсоход из клетки раскопок проходит последовательно через клетки со значениями 1, 2, 5, 3.

Тогда после прохода через клетку со значением 1, его уровень изношенности будет составлять 0 пунктов, после прохода через клетку со значением 2 — 10 пунктов, после прохода через клетку со значением 5 — 50 пунктов, после прохода через клетку со значением 3 — 70 пунктов.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Djdjjdjdjdjddjjx
07.08.2020 23:54
uses crt;
var a, b, c, i, n, j :integer;   
s :array[1..10000] of integer;
begin
      clrscr;
      writeln('Введите размер массива');
      read(n);
      for i:=1 to n do 
          begin 
          s[i]:=random(46)-15; 
          writeln ('s[', i,']=', s[i]); 
          end;
      a:=s[1];for i:=1 to n do 
          if s[i]>a then 
              begin 
              a:=s[i]; 
              b:=i; 
              end;
      writeln ('Наибольший элемент s[', b, ']=',a);
end.

P.S. Надеюсь на благодарность и лучший ответ.
0,0(0 оценок)
Ответ:
vikaolkhovskay
04.04.2021 16:45

Проверено на Паскале АВС:

 

Program byalodenis;
uses crt;
const n=10;
var
  e:array[1..n] of integer;
  min,max,i: integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  writeln();
  writeln('Элементы массива:');
  randomize;
  e[1]:=random(100)-50;
  write (e[1]:5);
  max:=e[1];
  min:=e[1];
  for i:=2 to n do
    begin
      e[i]:=random(100)-50;
      write (e[i]:5);
      if e[i]>max then
        max:=e[i];
      if e[i]<min then
        min:=e[i];
    end;
  writeln();
  writeln('Сумма максимального и минимального элементов равна ',max+min);
end.

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