фскорбин
16.08.2020 03:27

решит 3 задачу из 1 варианта


решит 3 задачу из 1 варианта

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
irina567890
05.05.2021 22:45
//Pascal ABC.NET 3.1 сборка 1256

Var
 s,s1:string;
begin
readln(s);
if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
while pos(' в ',s)<>0 do
 begin
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
  s1:=s1+copy(s,1,pos(' в ',s)-1)+' на ';
  delete(s,1,pos(' в ',s)+2);
 end;
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
s:=s1+s;
writeln(s);
end.

Пример ввода 1:
запасти в зиму, приехать в год, приготовить в день, выпить лекарство в ночь
Пример вывода 1:
запасти на зиму, приехать на год, приготовить на день, выпить лекарство на ночь

Пример ввода 2(глубокие песни современной отечественной эстрады):
В в в в в в в в в в в в в в в в в в н.
Пример вывода 2:
На на на на на на на на на на на на на на на на на на н.
0,0(0 оценок)
Ответ:
Fluttershy22102005
01.06.2021 12:46
{
Если что, часть программы не нужна для построения цепочки. Она просто иллюстрирует, что полученный результат верен.
}

var
 sq : array[0..999] of array[0..9] of boolean;
 co : array[0..999] of integer;
 ar : array[1..10003] of 0..9;
  i,j: integer;
 x: integer;
 t : boolean;
 begin
 for i := 0 to 999 do
   begin
   for j := 0 to 9 do
   sq[i][j] := false;
   co[i] := 0;
   end;
 for i := 1 to 3 do
   ar[i] := 0;
 i := 3;
 t := true;
 {write('000');}
 while t do
   begin
   i := i + 1;
   x := ar[i-3]*100 + ar[i-2]*10 + ar[i-1];
   if co[x] >= 10 then t := false
     else
     begin
     j := 1;
     while sq[x][j] do 
       j := (j + 1) mod 10;
     ar[i] := j;
     sq[x][j] := true;
     co[x] := co[x] + 1;
     {write(j)}
     end;
   end;
 {writeln;}
 writeln('Length: ',i - 1);

 {просто чтобы убедиться}
 for i := 0 to 999 do
   for j := 0 to 9 do
   sq[i][j] := false;

  t := true;
 j := 0;
 i := 1;
 while (i <= 10000) and t do
   begin
   x := ar[i] * 100 + ar[i+1] * 10 + ar[i+2];
   if sq[x][ar[i+3]] then t := false
     else
     begin
     sq[x][ar[i+3]] := true;
     j := j + 1;
     end;
   i := i + 1
   end;
 if t and (j = 10000) then
   write('Confirmed')
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота