Текстовый файл состоит не более чем из
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Приведём решение Чуркина Николая (Тимашевск) на языке Python.
f = open('24.txt').readline()
k = m = 0
for i in range(len(f)):
if (f[i] == 'L' and k%3 == 0) or (f[i] == 'D' and k%3 == 1) or (f[i] == 'R' and k%3 == 2):
k += 1
m = max(m, k)
elif f[i] == 'L': k = 1
else: k = 0
print(m)
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 15.
Ответ: 15.
Приведём решение Ильи Андрианова на языке Python.
s = open('zadanie24_2.txt').readline()
cnt = 2
maxi = 0
for i in range(0, len(s)-2, 1):
if s[i:i+3] in ('LDR', 'DRL', 'RLD'):
cnt += 1
maxi = max(maxi, cnt)
else:
cnt = 2
print(maxi)
Приведём другое решение данной задачи на языке Pascal.
Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим переменные: s — строка для работы с символами из файла, maxCount — максимальная длина последовательности, count — временное хранение длины последовательности, i — переменная для перебора всех символов. Алгоритм будет сравнивать значения на трех позициях, и если символы будут удовлетворять нужным условиям, то значение счетчика будет увеличиваться
Приведём решение данной задачи на языке Pascal.
begin
var s: string;
var i, count, maxCount: integer;
assign(input, '24.txt');
readln(s);
count:=0;
maxCount:=0;
for i:=1 to Length(s) do
if ((s[i]='L') and (count mod 3=0)) or
((s[i]='D') and (count mod 3=1)) or
((s[i]='R') and (count mod 3=2)) then begin
count := count+1;
if count > maxCount then
maxCount := count;
end
else if s[i]='L' then count:=1
else count := 0;
writeln(maxCount);
end.
Приведём решение Севы Тимофеева на языке C++.
#include #include using namespace std; int main () { ifstream fin("C:/Users/Сева/Downloads/zadanie24_2.txt"); char a,b; int s=0,f=0,y=0; fin >> a; while(fin >> a){ if(b=='L')y++; if(y>0){ if(b=='L'&&a=='D')s++; if(b=='D'&&a=='R')s++; if(b=='R'&&a=='L')s++; if(s>f)f=s; if((b=='L'&&a!='D')||(b=='D'&&a!='R')||(b=='R'&&a!='L')){ s=1; y=0; } } b=a; } cout <

