Ответы 1
Ответ:
Объяснение:
var
inputString, outputString: string;
begin
inputString := '1' + StringOfChar('1', 202) + '2'; // Входная строка
repeat
outputString := inputString; // Сохраняем текущее состояние строки
if Pos('111', inputString) > 0 then
inputString := StringReplace(inputString, '111', '22', [rfReplaceAll])
else
inputString := StringReplace(inputString, '222', '11', [rfReplaceAll]);
until (Pos('111', inputString) = 0) and (Pos('222', inputString) = 0);
writeln(outputString); // Выводим итоговую строку
end.
В этом коде входная строка представлена переменной inputString, которая содержит 203 единицы и одну двойку в произвольном порядке. Алгоритм заменяет все подстроки '111' на '22' и все подстроки '222' на '11' до тех пор, пока в строке остаются такие подстроки. Результат работы алгоритма сохраняется в переменной outputString, которая выводится в конце.В результате выполнения программы получается строка "2212122", которая является наибольшей возможной строкой, которая может получиться в результате работы алгоритма с входной строкой.
ответы на свои вопросы
вопросы?
по информатике