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

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

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

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





Сообщение: 1
ссылка на сообщение  Отправлено: 01.09.21 20:01. Заголовок: № 2710 (Е. Джобс) неправильный ответ либо условие неполное


(№ 2710) (Е. Джобс) Дана последовательность N целых неотрицательных чисел. Необходимо определить количество пар положительных элементов этой последовательности, сумма которых четна, при этом между элементами пары есть хотя бы один ноль.
Входные данные. Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке натуральное число N (1 < N < 10000) – количество чисел в последовательности. В следующих N строках записаны числа, входящие в последовательность, по одному в каждой строке.
Выходные данные: Программа должна вывести одно число – количество найденных пар.
Пример входного файла:
6
2
1
4
0
3
4
Для указанных входных данных искомое количество пар равно 3.

В условии не сказано, что ноль не может входить в пару слагаемых, между которыми есть другие нули, но указанный к заданию ответ подразумевает это.
Мое решение:
 
n = int(input())
pairs = 0
fragms = [[0,0]]
zeros = 0
for i in range(n):
x = int(input())

if x == 0 and i!= 0:
zeros += 1
fragms.append([0,0])

else:
if x%2 == 0:
fragms[zeros][0] += 1
else:
fragms[zeros][1] += 1

for i in range(len(fragms)):
below = 0
for k in range(i+1,len(fragms)):
below += fragms[k][0]
pairs += fragms[ i ][0]*below


#for i in range(zeros-2):
# pairs += fragms[zeros-i ][0]*(zeros-1-i)

#for i in range(len(fragms)-2):
# pairs += fragms[ i ][0]*(zeros-1-i)

#for i in range(zeros-2):
# pairs += i+1

for i in range(len(fragms)):
below = 0
for k in range(i+1,len(fragms)):
below += fragms[k][1]
pairs += fragms[ i ][1]*below

print(pairs)


Мой код сначала разбивает входные данные на фрагменты, подсчитывая количество четных и нечетных чисел в каждом фрагменте (фрагмент - часть последовательности, отделенная нулем). Потом подсчитывается количество сумм четное+четное. Дальше в закомментированных фрагментах идет подсчет удовлетворяющих условию сумм: четное из фрагмента + один из последующих нулей, ноль + четное из следующих за ним фрагментов, сумма нулей. И в последнем цикле идет подсчет сумм нечетное+нечетное. Таким образом, если не использовать закомментированный код, ответ сходится, но ведь суммы пар четных чисел и нулей или нулей с нулями тоже четные, то есть, их тоже надо учитывать.
Ответ, указанный на сайте, который также получается, если не использовать закомментированную часть: 51, 24019058
Ответ, который получается, если учитывать описанные выше пары чисел: 56, 24565497

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







Сообщение: 463
ссылка на сообщение  Отправлено: 02.09.21 15:02. Заголовок: Необходимо определит..


Необходимо определить количество пар положительных элементов этой последовательности

Discussio mater veritas est Спасибо: 1 
ПрофильЦитата Ответить





Сообщение: 2
ссылка на сообщение  Отправлено: 02.09.21 16:45. Заголовок: И правда... Все-таки..


И правда... Все-таки внимательнее надо читать условия( . Спасибо вам за ответ!

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

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