М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
J22UKR
J22UKR
01.11.2022 15:40 •  Информатика

Мы находимся на острове, на котором закопан клад. Мы находимся в точке с координатами (0, 0) и смотрим на север. Нам известно, где закопан клад, но этого мало: остров полон опасностей, и нужно перемещаться строго по указаниям карты, которая, к счастью, тоже имеется в нашем распоряжении. Мы хотим найти клад как можно скорее. Известны координаты клада и указания, которым нужно следовать, чтобы его найти. Каждое указание карты состоит из одного слова и, возможно, одного натурального числа. Слово — одно из набора: «вперёд», «налево», «направо», «разворот».

После слова «вперёд» следует количество шагов, которое следует пройти в том направлении, куда мы в данный момент смотрим. Слова «налево» или «направо» означают, что нужно изменить направление взгляда под прямым углом, «разворот» — что прямо на обратное. Команда «стоп» означает остановку.

Найдите минимальное количество указаний карты, которое нужно выполнить, чтобы прийти к кладу.

Формат ввода
Сначала вводятся два числа на отдельных строчках: координаты клада по оси икс (запад-восток) и игрек (юг-север).
Затем следует некоторое количество указаний карты. Каждое указание карты состоит из одного слова и, возможно, одного натурального числа на отдельной строке. Слово — одно из набора: «вперёд», «налево», «направо», «разворот» или «стоп».

Формат вывода
Программа выводит на отдельных строках минимальное количество указаний карты, которое нужно выполнить, чтобы прийти к кладу, и направление взгляда в этот момент (одно из: «север», «юг», «запад», «восток»). Гарантируется, что карта приводит к кладу.

👇
Открыть все ответы
Ответ:
Air100Cake
Air100Cake
01.11.2022
Var
A,B,m1,m2:integer;
Begin
Write('A = ');Read(A);
Write('B = ');Read(B);
A:=abs(A);
B:=abs(B);
m1:=A mod 10;
A:=A div 10;
if A mod 10 > m1 then m1:=A mod 10;
A:= A div 10;
if A mod 10 > m1 then m1:=A mod 10;

m2:=B mod 10;
B:=B div 10;
if B mod 10 > m2 then m2:=B mod 10;
A:= B div 10;
if B mod 10 > m2 then m2:=B mod 10;

WriteLn('Максимальная цифра в A = ',m1);
WriteLn('Максимальная цифра в B = ',m2);
End.

Var
i:integer;
Begin
Write('Кратные 4: ');
For i:= 1 to 1000 do
   if i mod 4 = 0 then Write(i,' ');
WriteLn;

Write('Кратные 8: ');
For i:= 1 to 1000 do
   if i mod 8 = 0 then Write(i,' ');
WriteLn;

Write('Кратные 2: ');
For i:= 1 to 1000 do
   if i mod 2 = 0 then Write(i,' ');
WriteLn;

Write('Кратные 4,8,2: ');
For i:= 1 to 1000 do
   if i mod 8 = 0 then Write(i,' ');
WriteLn;

End.
4,8(62 оценок)
Ответ:
RassiaScream
RassiaScream
01.11.2022
PascalABC.NET 3.2, сборка 1387 от 20.02.2017
Внимание! Если программа не работает, обновите версию!

//const
//  MAX_ROW=5;
//  MAX_COL=8;
begin
  var a:=MatrRandom(MAX_ROW,MAX_COL,10,99); a.Println(3);
  (var imax, var jmax, var imin, var jmin):=(0,0,0,0);
  for var i:=0 to MAX_ROW-1 do
    for var j:=0 to MAX_COL-1 do
      if a[i,j]>a[imax,jmax] then (imax,jmax):=(i,j)
      else
        if a[i,j]<a[imin,jmin] then (imin,jmin):=(i,j);
  for var i:=0 to MAX_ROW-1 do Swap(a[i,jmax],a[i,jmin]);
  Writeln('-'*3*MAX_COL); a.Println(3)
end.

Для проверки работы программы снимите комментарии с первых трех строк.
4,5(1 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ