Финал и не финал — Python — Ответ 13105312
Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в финал проходит половина команд (с округлением вверх), набравшие больше правильных ответов, чем остальные. Помогите жюри сформировать итоговый протокол.
Формат ввода
На первой строке указано натуральное число N — количество команд.
Далее следует описание результатов N команд в произвольном порядке. Данные о каждой команде записываются на двух строках: на первой — название команды, на второй — количество правильных ответов. Гарантируется, что количество правильных ответов у всех команд разное.
Формат вывода
Нужно вывести на отдельных строках сначала в алфавитном порядке названия всех команд, вышедших в финал (т. е. команд из лучшей по количеству ответов половины), а затем названия всех остальных команд (также на отдельных строках в алфавитном порядке).
Пример
Ввод Вывод
4
Уважаемые знатоки
22
Обожаемые знатоки
20
Магистры
24
Яндекс.Лицеисты
23
Магистры
Яндекс.Лицеисты
Обожаемые знатоки
Уважаемые знатоки
Финал и не финал
Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в.
Финал и не финал 1
Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в.
Сколько спортсменов по результатам соревнований вышли в финал?
Всем привет! Помогите, пожалуйста, написать программу для решения задачи из информатики 9 класса.
Финал ACM ICPC
(Время: 2 сек. Память: 32 Мб Сложность: 36%) Ежегодно в Санкт-Петербурге, Барнауле и некоторых.
Финал Лиги Чемпионов
Скоро финал Лиги Чемпионов, и я думаю,что все таки надо создать тему,посвященную этому грандиозному.
Финал размышлений о Space Enginers
Финал прост на самом деле. Разумеется онлайн. Изометрия, 3D потом. Что нужно? Программирование и.
пра фотбол (финал уефа)
сегодня решил расслабиться: после работы пошел футбол смотреть, в кафе нашей фирмы (растем-с))) уже.
ЧМ по хоккею 2009, финал. Россия — Канада
В финальном поединке россияне выступают в ранге чемпионов мира. В прошлом году в решающем матче в.
Лига Чемпионов.Финал.МЮ-Барса.Прогнозы.
Итак,завтра нас ожидает очень непредсказуемый поединок МЮ-Барселона.У кого какие прогнозы на этот.
Финал! Развертывание интернет магазина на smarterasp.net
Получилось сделать публикацию но сайт не работает! В чем может быть проблема? Могу зайти только на.
Финал и не финал
Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в финал проходит половина команд (с округлением вверх), набравшие больше правильных ответов, чем остальные. Помогите жюри сформировать итоговый протокол.
Формат ввода
На первой строке указано натуральное число N — количество команд.
Далее следует описание результатов N команд в произвольном порядке. Данные о каждой команде записываются на двух строках: на первой — название команды, на второй — количество правильных ответов. Гарантируется, что количество правильных ответов у всех команд разное.
Формат вывода
Нужно вывести на отдельных строках сначала в алфавитном порядке названия всех команд, вышедших в финал (т. е. команд из лучшей по количеству ответов половины), а затем названия всех остальных команд (также на отдельных строках в алфавитном порядке).
Пример
Ввод
4
Уважаемые знатоки
22
Обожаемые знатоки
20
Магистры
24
Яндекс.Лицеисты
23
Вывод
Магистры
Яндекс.Лицеисты
Обожаемые знатоки
Уважаемые знатоки
Мой код:
N = int(input()) kom = [] res = [] for i in range(N): k = input() kom.append(k) r = int(input()) res.append(r) res_2 = reversed(sorted(res))
Финал и не финал 1
Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в.
Сколько спортсменов по результатам соревнований вышли в финал?
Всем привет! Помогите, пожалуйста, написать программу для решения задачи из информатики 9 класса.
Финал и не финал
Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt.
Финал ACM ICPC
(Время: 2 сек. Память: 32 Мб Сложность: 36%) Ежегодно в Санкт-Петербурге, Барнауле и некоторых.
CoMeLLa, немного не так. зачем вам два списка? вы же потом не сможете связать баллы и команды. вам лямбда функции знакомы? сортировка имеет ключ и нам нужен второй элемент кортежа. вам в список нужно собрать кортежи
N = int(input()) kom_res = [] for i in range(N): kom_res.append((input(),int(input()))) # в список добавляем кортеж (команда,баллы)
теперь сортируем список по второму элементу кортежа. потом берем первую часть списка сортируем (по умолчанию по первым элементам кортежей) и выводим только первые элементы и то же самое повторяем со второй частью
Сообщение было отмечено CoMeLLa как решение
Решение
ну кортежи от списков отличаются тем что их нельзя изменить ну вам это и не нужно. раз задача подразумевает сортировку значить вы должны знать алгоритмы сортировки. если знакомы с функциями то сортировку можно записать в функцию и только вызывать с разными аргументами
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
N = int(input()) kom_res = [] for i in range(N): kom_res.append((input(),int(input()))) m = len(kom_res) # длина списка for i in range(m-1): # сортируем список по 2 элементу кортежа (баллам) for j in range(m-i-1): if kom_res[j][1] > kom_res[j+1][1]: kom_res[j], kom_res[j+1] = kom_res[j+1], kom_res[j] moiety = m//2 # середина списка the_final = kom_res[ moiety :] # берем в срез вторую лучшую половину first = kom_res[ : moiety] # берем в срез первую половину m = len(the_final) # длина лучшей половины for i in range(m-1): # сортируем по 1 элементу кортежа (команда) по умолчанию for j in range(m-i-1): if the_final[j] > the_final[j+1]: the_final[j], the_final[j+1] = the_final[j+1], the_final[j] for i in the_final: print(i[0]) m = len(first) # длина первой половины for i in range(m-1): # сортируем по 1 элементу кортежа (команда) по умолчанию for j in range(m-i-1): if first[j] > first[j+1]: first[j], first[j+1] = first[j+1], first[j] for i in first: print(i[0])
kom_res = [(input(),int(input())) for _ in range(int(input()))] moiety = len(kom_res)//2 # середина списка kom_res.sort(key = lambda x : x[0]) the_final = kom_res[ moiety :] # берем в срез вторую лучшую половину first = kom_res[ : moiety] # берем в срез первую половину print(*(i[0] for i in list(sorted(the_final))),sep = '\n') print(*(i[0] for i in list(sorted(first))), sep = '\n')
финал и не финал
Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в финал проходит половина команд (с округлением вверх), набравшие больше правильных ответов, чем остальные. Помогите жюри сформировать итоговый протокол.
На первой строке указано натуральное число N — количество команд.
Далее следует описание результатов N команд в произвольном порядке. Данные о каждой команде записываются на двух строках: на первой — название команды, на второй — количество правильных ответов. Гарантируется, что количество правильных ответов у всех команд разное.
Нужно вывести на отдельных строках сначала в алфавитном порядке названия всех команд, вышедших в финал (т. е. команд из лучшей по количеству ответов половины), а затем названия всех остальных команд (также на отдельных строках в алфавитном порядке).
4 Уважаемые знатоки 22 Обожаемые знатоки 20 Магистры 24 Яндекс.Лицеисты 23
Магистры Яндекс.Лицеисты Обожаемые знатоки Уважаемые знатоки
7 Муми-тролли 15 Снорки 20 Хемули-ЧГКшники 24 Хемули -- не ЧГКшники 1 Тофсла и Вифсла 9 Морра 5 Ондатр 13
Муми-тролли Ондатр Снорки Хемули-ЧГКшники Морра Тофсла и Вифсла Хемули -- не ЧГКшники
n = int(input()) s = <> if n in s: for i in sorted(sl.items(), key=lambda x: (len(x[0]), x[0])): print(i[0]) print(n)
Ответы (1 шт):
Разделите ваш код на 3 части:
- Получение данных. Это считывание через input() количества команд.
title_by_count = dict() n = int(input()) for i in range(n): title = input() count = int(input()) title_by_count[title] = count
# Половина команд (с округлением вверх) need = (n + 1 if n % 2 == 1 else n) // 2 # Сортировка по количеству ответов от большего к меньшему items = sorted(title_by_count.items(), key=lambda x: x[1], reverse=True) # Получение половины победителей, вытаскивание названия команды и сортировка winners = sorted(x[0] for x in items[:need]) losers = sorted(x[0] for x in items[need:])
print('\n'.join(winners)) print('\n'.join(losers))
Тестирование с захаркоденными данными (шаг Получение данных):
title_by_count = < "Муми-тролли": 15, "Снорки": 20, "Хемули-ЧГКшники": 24, "Хемули -- не ЧГКшники": 1, "Тофсла и Вифсла": 9, "Морра": 5, "Ондатр": 13, >n = len(title_by_count)
Муми-тролли Ондатр Снорки Хемули-ЧГКшники Морра Тофсла и Вифсла Хемули -- не ЧГКшники
Финал и не финал Python
Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в финал проходит половина команд (с округлением вверх), набравшие больше правильных ответов, чем остальные. Помогите жюри сформировать итоговый протокол.
Формат ввода На первой строке указано натуральное число N — количество команд.
Далее следует описание результатов N команд в произвольном порядке. Данные о каждой команде записываются на двух строках: на первой — название команды, на второй — количество правильных ответов. Гарантируется, что количество правильных ответов у всех команд разное.
Формат вывода Нужно вывести на отдельных строках сначала в алфавитном порядке названия всех команд, вышедших в финал (т. е. команд из лучшей по количеству ответов половины), а затем названия всех остальных команд (также на отдельных строках в алфавитном порядке).
s = [[input(), int(input())] for i in range(int(input()))] for i in range(len(s)): for j in range(i, len(s)): if s[i][1] < s[j][1]: s[i], s[j] = s[j], s[i] s1 = list(s) for i in range(len(s)): for j in range(i, len(s)): if s1[i][0] < s1[j][0]: s1[i], s1[j] = s1[j], s1[i] for i in s1: if i in s[:round(len(s) / 2)]: print(i[0]) for i in s[round(len(s) / 2):]: print(i[0])
Магистры Яндекс.Лицеисты Обожаемые знатоки Уважаемые знатоки
Яндекс.Лицеисты Магистры Уважаемые знатоки Обожаемые знатоки
Ответы (2 шт):
s=sorted(s,key=lambda i: i[1],reverse = True) s[:int(len(s)/2)] = sorted(s[:int(len(s)/2)], key=lambda i: i[0]) s[int(len(s)/2):] = sorted(s[int(len(s)/2):], key=lambda i: i[0]) for st in s: print (st)
Результат на ваших данных:
['Магистры', 24] ['Яндекс.Лицеисты', 23] ['Обожаемые знатоки', 20] ['Уважаемые знатоки', 22]
Привести к нужному вам формату вывода надеюсь сможете сами.
для сортировки есть встроенная функция sort() , если использовать эту функцию в решении допустимо, то можно попробовать сделать так:
n = 5 # количество команд s = [['Уважаемые знатоки', 22], ['Обожаемые знатоки', 20], ['Магистры', 24], ['Яндекс.Лицеисты', 23], ['Google.team', 19]] w = -(-n//2) # количество финалистов (округление в большую сторону) s.sort(key=lambda x: -x[1]) print(*[t for t,_ in s[:w]+sorted(s[w:])], sep='\n')
Магистры Яндекс.Лицеисты Уважаемые знатоки Google.team Обожаемые знатоки
Финал и не финал 1 - Python - Ответ 13214081
Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в финал проходит половина команд (с округлением вверх), набравшие больше правильных ответов, чем остальные. Помогите жюри сформировать итоговый протокол.
Формат ввода
На первой строке указано натуральное число N — количество команд.
Далее следует описание результатов N команд в произвольном порядке. Данные о каждой команде записываются на двух строках: на первой — название команды, на второй — количество правильных ответов. Гарантируется, что количество правильных ответов у всех команд разное.
Формат вывода
Нужно вывести на отдельных строках сначала в алфавитном порядке названия всех команд, вышедших в финал (т. е. команд из лучшей по количеству ответов половины), а затем названия всех остальных команд (также на отдельных строках в алфавитном порядке).
Пример
Ввод
4
Уважаемые знатоки
22
Обожаемые знатоки
20
Магистры
24
Яндекс.Лицеисты
23
Вывод
Магистры
Яндекс.Лицеисты
Обожаемые знатоки
Уважаемые знатоки
Сколько спортсменов по результатам соревнований вышли в финал?
Всем привет! Помогите, пожалуйста, написать программу для решения задачи из информатики 9 класса.
Финал и не финал
Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в.
Финал и не финал
Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt.
Финал ACM ICPC
(Время: 2 сек. Память: 32 Мб Сложность: 36%) Ежегодно в Санкт-Петербурге, Барнауле и некоторых.
Финал Лиги Чемпионов
Скоро финал Лиги Чемпионов, и я думаю,что все таки надо создать тему,посвященную этому грандиозному.
Финал размышлений о Space Enginers
Финал прост на самом деле. Разумеется онлайн. Изометрия, 3D потом. Что нужно? Программирование и.
пра фотбол (финал уефа)
сегодня решил расслабиться: после работы пошел футбол смотреть, в кафе нашей фирмы (растем-с))) уже.
ЧМ по хоккею 2009, финал. Россия - Канада
В финальном поединке россияне выступают в ранге чемпионов мира. В прошлом году в решающем матче в.
Лига Чемпионов.Финал.МЮ-Барса.Прогнозы.
Итак,завтра нас ожидает очень непредсказуемый поединок МЮ-Барселона.У кого какие прогнозы на этот.
Финал! Развертывание интернет магазина на smarterasp.net
Получилось сделать публикацию но сайт не работает! В чем может быть проблема? Могу зайти только на.