На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение
Администратор




Сообщение: 2688
ссылка на сообщение  Отправлено: 11.04.21 22:04. Заголовок: ЕГЭ-24 задание 165


Татьяна Александровна пишет:
 цитата:
посмотрите пожалуйста в ЕГЭ-24 задание 165
abc = "" 
for i in range(26):
abc += chr(65 + i)

f = open("24-164.txt")
maxi = 0
s_max = ''
for s in f:
count = 0
for i in range(0, len(s) - 1):
if s[ i] == s[i+1]:
count += 1
if count > maxi:
maxi, s_max = count, s
f.close()

maxi = 0
for letter in abc:
count = s_max.count(letter)
if count > maxi:
maxi, answer = count, letter

count = 0
f = open("24-164.txt")
for s in f:
count += s.count(answer)

print(answer, count, sep ='')

Насколько я понимаю, вы считаете не длину самой длинной цепочки стоящих рядом одинаковых символов, а количество пар одинаковых соседних символов. Это не одно и то же.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 10 [только новые]





Сообщение: 1
ссылка на сообщение  Отправлено: 11.04.21 23:13. Заголовок: Большое спасибо, Вы ..


Большое спасибо, Вы правы.
Добавление двух строчек всё исправило.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1
ссылка на сообщение  Отправлено: 14.04.21 13:18. Заголовок: 165


Константин Юрьевич, уважаемые коллеги, добрый день!
Большая просьба. Напишите решение задачи 165 на Паскале.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2700
ссылка на сообщение  Отправлено: 14.04.21 13:50. Заголовок: Андреев пишет: Больш..


Андреев пишет:
 цитата:
Большая просьба. Напишите решение задачи 165 на Паскале.

Пожалуйста:
 ## 
var ABC := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var data := ReadLines('24-164.txt').ToArray;
var maxK := 0;
var letterMax := '';
foreach var s in data do begin
var (k, currK) := (1, 1);
for var i:=2 to length(s) do
if s[ i] = s[i-1] then begin
currK += 1;
k := max(k, currK);
end
else
currK := 1;
if k > maxK then begin
maxK := k;
var ma := 0;
foreach var letter in ABC do begin
var cnt := s.CountOf(letter);
if cnt > ma then
(ma, letterMax) := (cnt, letter);
end;
end;
end;

Print( letterMax );
data.Select( s->s.Count(x->x=letterMax)).Sum.Println;
Проверялось в последней версии PascalABC.NET (3.8).

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 8
ссылка на сообщение  Отправлено: 15.04.21 09:00. Заголовок: Если это задача №378..


Если это задача №3786, то там данный код действительно выдает приведенный в задаче ответ, определяя, что самая длинная цепочка состоит из букв К. Но на деле там этих К максимум 7, в то время как можно найти цепочку из 10 букв М.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2704
ссылка на сообщение  Отправлено: 15.04.21 09:25. Заголовок: Alex61 пишет: Если э..


Alex61 пишет:
 цитата:
Если это задача №3786, то там данный код действительно выдает приведенный в задаче ответ, определяя, что самая длинная цепочка состоит из букв К. Но на деле там этих К максимум 7, в то время как можно найти цепочку из 10 букв М.

В чем ошибка в решении, на ваш взгляд?

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2706
ссылка на сообщение  Отправлено: 15.04.21 13:01. Заголовок: Alex61 пишет: опреде..


Alex61 пишет:
 цитата:
определяя, что самая длинная цепочка состоит из букв К

Там другое условие.
 цитата:
Но на деле там этих К максимум 7, в то время как можно найти цепочку из 10 букв М.

И в той строке, где 10 подряд букв M, чаще всего встречается буква K.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 9
ссылка на сообщение  Отправлено: 15.04.21 15:08. Заголовок: Ну если условие друг..


Ну если условие другое, все может быть. А 3786 решается в три строчки. Регулярка (.)\1* делает основную часть работы.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2707
ссылка на сообщение  Отправлено: 15.04.21 15:13. Заголовок: Alex61 пишет: Ну есл..


Alex61 пишет:
 цитата:
Ну если условие другое, все может быть.

Вот условие 3786:
 цитата:
Необходимо найти строку, содержащую самую длинную цепочку стоящих подряд одинаковых букв. Если таких строк несколько, надо взять ту, которая в файле встретилась раньше. Определите, какая буква встречается в этой строке чаще всего.

То есть, самая длинная цепочка одинаковых символов может состоять из букв M, а встречается чаще всего в этой строке буква К.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 10
ссылка на сообщение  Отправлено: 15.04.21 18:59. Заголовок: Навскидку если, можн..


Навскидку если, можно еще вот так написать
 
##
var a := ReadAllLines('24-164.txt');
var n := a.Select(s -> s.MatchValues('(.)(\1)*').Select(ss -> (ss[1], ss.Length))
.MaxBy(t -> t[1])).Numerate.MaxBy(t -> t[1][1])[0];
var c := a[n-1].GroupBy(x -> x).OrderByDescending(t -> t.Count).EachCount.First.Key;
Print(c, a.Select(s -> s.CountOf(c)).Sum)


Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.06.21 18:45. Заголовок: вот моё решение 165 ..


вот моё решение 165 на Паскале
var n,i,k: integer;
max:longint;
a,b: array['A'..'Z'] of integer;
c,maxc: char;
s: string;
f: text;
begin
k:=0; n:=0;
for c:='A' to 'Z' do begin a[c]:=0; b[c]:=0; end;
assign(f, '24-164.txt');
reset(f);
while not eof(f) do
begin
readln(f,s);
var maxLen:=1;
var curLen:=1;
for i:=2 to Length(s) do
begin
if (s = s[i-1]) then begin curLen+=1;
if (maxLen<curLen)then maxLen:=curLen; end
else curLen:=1;
end;
for i:=1 to Length(s) do begin
a[s]:=a[s]+1; b[s]:=b[s]+1; end;
if (maxLen>n)then
begin n:=maxLen; max:=0;
for c:='A' to 'Z' do
if (a[c]>max)and (a[c]>0) then begin max:=a[c]; maxc:=c; end;
end
else for c:='A' to 'Z' do a[c]:=0;
end;
writeln(maxc, b[maxc]);
close(f);
end.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 253
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет