![]() |
|
![]() ![]() ![]() |
|
Neud |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.12.2009 Репутация: нет Всего: нет |
Прошу замечаний и предложений по следующей задаче:
В соревнованиях по многоборью (из M видов спорта) участвуют N спортсменов (N < 1000) . На вход программе в первой строке подается число спортсменов N, во второй – число видов спорта M. В каждой из последующих N строк находится информация в следующем формате: <Фамилия> <Имя> <Баллы> где <Фамилия> – строка, состоящая не более, чем из 20 символов без пробелов, <Имя> – строка, состоящая не более, чем из 12 символов без пробелов, <Баллы> – M целых чисел, обозначающие количество баллов, набранных спортсменом в каждом из видов многоборья. <Фамилия> и <Имя>, <Имя> и <Баллы>, а также отдельные числа в поле <Баллы> разделены ровно одним пробелом. Пример входных строк: 3 4 Иванов Сергей 100 30 78 13 Петров Антон 90 16 98 14 Сидоров Юрий 100 70 30 21 Программа должна выводить результирующую таблицу, содержащую список спортсменов, отсортированный по убыванию суммы баллов, набранные суммы и занятые места. В данном случае программа должна вывести Иванов Сергей 221 1 Сидоров Юрий 221 1 Петров Антон 218 2
Это сообщение отредактировал(а) Neud - 11.12.2009, 15:53 |
|||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: нет Всего: 7 |
Вроде бы на ЕГЭ только Pascal, C/C++, Basic разрешены, нет?
|
|||
|
||||
shine |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 20.10.2006 Репутация: 3 Всего: 5 |
У топикстартера уже достаточно хороший вариант, но можно еще лучше:
--------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin |
|||
|
||||
Neud |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.12.2009 Репутация: нет Всего: нет |
Нет. Разрешено всё. Добавлено @ 20:47 shine, спасибо. Еще задачка ЕГЭ: На вход программы подаются прописные латинские буквы, ввод этих символов заканчивается точкой. Напишите эффективную по времени работы и по используемой памяти программу, которая будет определять, можно ли переставить эти буквы так, чтобы получился палиндром (палиндром читается одинаково слева направо и справа налево). Программа должна вывести ответ «Да» или «Нет», а в случае ответа «Да» – еще и сам полученный палиндром (первый в алфавитном порядке). Пример входной строки: GAANN Пример выходных данных: Да ANGNA
Это сообщение отредактировал(а) Neud - 11.12.2009, 20:58 |
||||
|
|||||
Neud |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.12.2009 Репутация: нет Всего: нет |
shine, если использовать хэш, то первую задачу можно и так написать:
Правда, полные тезки сольются. Это сообщение отредактировал(а) Neud - 12.12.2009, 12:26 |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
shine, Neud, какие хеши, вы чего?
Одинаковые имя с фамилией может встречаться сколько угодно раз, не говоря уж о сумме баллов, я уж не говорю про eval для простейшего сложения, стыд и позор ![]()
Это сообщение отредактировал(а) source777 - 13.12.2009, 16:03 -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
Модератор: Тема почищена от оффтопика
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
Neud |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.12.2009 Репутация: нет Всего: нет |
source777,
1) согласно условию ЕГЭ предусматривать отклонения от формата ввода не требуется. Так что "стыд и позор" именно вам, а не нам - за абсолютно лишний код. 2) eval "для простейшего сложения" - это плохо, а inject - хорошо? Это сообщение отредактировал(а) Neud - 13.12.2009, 22:30 |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
Neud,
1) решения с хешами - абсолютно неправильные вне зависимости от формата, т.к. в условии нигде не сказано, что имена не могут совпадать или сумма баллов у всех разная. 2) да, eval для чего-либо - это ужасно, когда можно обойтись без него 3) не забывай, что ты сюда пришёл за помощью и критикой, так что насчёт абсолютно лишнего кода я запомню и тебе больше помогать не буду, пока не извинишься. ![]() Это сообщение отредактировал(а) source777 - 15.12.2009, 12:02 -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Ruby: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |