pron1983
05.05.2021 02:57

Вася и петя играют в «голодную змейку»: по клетчатой доске 100100 х 100100 клеток перемещается «змея» (положение головы змеи в каждый момент времени описывается одной клеткой), при этом за один ход голова перемещается на одну из соседних восьми клеток (соседние по общей грани и по диагоналям), если для данного перемещения есть свободное пространство (змея не может выходить за края доски). также следует отметить, что размер змеи всегда составляет ровно одну клетку, т.к. на доске отсутствуют «яблоки» для пропитания и увеличения размера змеи. необходимо описать положение змеи на доске в 55 последовательных моментов времени (55 клеток). вася для кодирования каждой клетки использовал две координаты (номер клетки по горизонтали и вертикали), в результате для кодирования пяти клеток ему необходимо xx бит. петя также использовал две координаты (номер клетки по горизонтали и вертикали) для хранения первой клетки в последовательности ходов, но для следующих четырех шагов змеи петя кодировал номер одной из восьми соседних клеток, куда был сделан ход по отношению к предыдущей клетке. в результате пете потребовалось yy бит для кодирования пути змеи. определите, какой кодирования (васин или петин) наиболее эффективен. в ответе укажите целое число бит, равное «x-yx−y» (например, если вася использует 55 бит, а петя – 2020 бит, ответ: -15−15).
примечание: для кодирования клетки (каждой из двух координат) используется одинаковое минимально возможное количество бит. для кодирования номера одной из восьми соседних клеток также используется одинаковое минимально возможное количество бит.​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Яна2005561
14.09.2021 16:01

Программы на pascal

1)

var

  x, y: real;  

 

begin

  writeln('Введите х');

  readln(x);  //Вводим х

  y:= sin(sqr(x));  

  writeln('y = ', y : 0 : 5);  {Печатаем значение у с округлением до 5 знаков после запятой}

end.

2)

var

  x, y: real;

 

begin

  writeln('Введите х');

  readln(x);  //Вводим х

  if x >= 0 then y:= cos(x)  //Если х >= 0, то у = cosx, иначе у = 1 - 2sinx

  else y:= 1 - 2 * sin(x);

  writeln('y = ', y : 0 : 5);  {Печатаем значение у с округлением до 5 знаков после запятой}

end.

Если все правильно, отметь решение как лучшее)

0,0(0 оценок)
Ответ:
Pwdrddiwkekfiwldkeie
08.10.2022 20:50

program zadacha;
var
s,temp,max,min:string;
i,mxp,mnp:integer;
begin
writeln('Введите строку...');
readln(s);
s:=s+' ';
temp:='';
max:='';
min:=s;
for i:=1 to length(s) do
begin
if s[i]<>' ' then
temp:=temp+s[i];
if (s[i]=' ') and (temp<>'') then
begin
if Length(temp)<Length(min) then
begin
min:=temp;
mnp:=i-Length(temp)
end;
if Length(temp)>Length(max) then
begin
max:=temp;
mxp:=i-Length(temp)
end;
temp:='';
end;
end;
if max<>'' then
begin
Writeln('Самое длинное: ',max,' Оно начинается с: ',mxp);
Writeln('Самое короткое: ',min,' Оно начинается с: ',mnp)
end
else
WriteLn('В данной строке нет слов!')
end.

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