Уменьшить время программы, все тесты проходит, проблема только во времени (на языке паскаль) var s: string ; var k,i: integer; begin readln(s); k: =0; for i: =1 to length(s) do if s[i]='a' then begin s[i]: ='b'; k: =k+1; end; for i: =1 to length(s) do if s[i]='a' then begin s[i]: ='b'; k: =k+1; end; writeln(s); writeln(k); end.
var
s: string;
k, i: integer;
begin
readln(s);
k := 0;
for i := 1 to length(s) do
if s[i] = 'a' then
begin
s[i] := 'b';
k := k + 1;
end
else if s[i] = 'A' then
begin
s[i] := 'B';
k := k + 1;
end;
writeln(s);
writeln(k);
end.
Файл с решением прикреплён.
На Паскале если используются переменные типа string, то обработка строки занимает ну ооооочень много времени. Вместо string лучше использовать массив char. На скринах приведен пример программ с использованием char. Символы считывались из файла , размер 20000. Время работы программ (разницу) оцените сами.