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

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

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

АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 08.02.23 13:09. Заголовок: 5459 Ишимов


Добрый день!
Разошлось решение программное (совпало с сайтом) и в Excel. Стал анализировать файл с данными. Обнаружил, что он содержит 605 одинаковых строк, из которых 133 подпадают под возможность бронирования. Например:
1 71 6 повторяется 2 раза. На мой взгляд либо повторяющихся строк не должно быть в файле, либо в ответ должна попадать только одна из них. Тогда верный ответ 9988 и 2275

Еще, аналогичная задача 5162 содержит файл с данными аналогичными задачи 5459, а ответ другой... что то тут не так ...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 5 [только новые]





Сообщение: 1
ссылка на сообщение  Отправлено: 08.02.23 13:16. Заголовок: с задачей 5162 я пот..


с задачей 5162 я поторопился, там условие другое, но проблема задвоенных строк остается

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




Сообщение: 3882
ссылка на сообщение  Отправлено: 08.02.23 22:19. Заголовок: Спасибо за замечание..


Спасибо за замечание, дубли убраны.

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




Сообщение: 425
ссылка на сообщение  Отправлено: 21.03.24 18:42. Заголовок: Каждый из них боитс..



 цитата:
Каждый из них боится высоты, поэтому места у окон покупать нельзя. Места у окон считаются самые крайние места в каждом ряду (первое и последнее).


В предложенном решении проверка
if s.startswith('0000') or s.endswith('0000'):

не учитывает это условие.
В ответе учитывается, например, ряд 25 на первом этаже, в которм занято 5ое место. В этом ряду могут быть куплены места 1, 2, 3 и 4, но 1 место крайнее.
Программа Ишимова М. выдает, вообще, не правильный ответ.
Например: потерян 7 ряд на первом этаже с занятым 1ым местом.
Считаю, что правильный ответ должен быть: 9996 2464

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 426
ссылка на сообщение  Отправлено: 21.03.24 18:42. Заголовок: Каждый из них боитс..


Кстати...
 цитата:
K – количество мест в каждом ряду самолета (натуральное число, не превышающее 10)


Предложенная проверка не найдет ряд при К>=8, в котором заняты места 1, 2, 7 и 8
А как по условию задачи определить в 10_000 ряду не куплено ни одного места или такого ряда нет в самолете?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 427
ссылка на сообщение  Отправлено: 21.03.24 18:42. Заголовок: Каждый из них боитс..


 
from collections import defaultdict

d1 = defaultdict(list)
d2 = defaultdict(list)
with open('26-94.txt') as file:
h, k = map(int, file.readline().split())
for f in file:
e, r, n = map(int, f.split())
if e == 1:
d1[r].append(n)
else:
d2[r].append(n)
cnt = 0
maxrow = 0
l = 4
for i in d1:
a = [0] * k
for j in d1[ i]:
a[j - 1] = 1
for j in range(1, k - l ):
if sum(a[j:j + l]) == 0:
cnt += 1
maxrow = max(maxrow, i)
break

for i in d2:
a = [0] * k
for j in d2[ i]:
a[j - 1] = 1
for j in range(1, k - l):
if sum(a[j:j + l]) == 0:
cnt += 1
maxrow = max(maxrow, i)
break

print(maxrow, cnt)


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

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