1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| passat |
17.03.2009 10:14
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: 0 |
В состязаниях участвуют N (N - до 100000) спортсменов. Каждому даются три попытки. Входной файл содержит 3 строки с положением участников в каждой попытке (ни в одной из попыток невозможно двум и более человекам разделить одно место).
Считается, что спортсмен A сильнее спортсмена B в случае, если A занял во всех попытках места выше, чем B. А является лучшим среди всех, если нет никого лучше его. Найти и вывести в выходной файл количество лучших спортсменов. Реализацию напишу сам, но подскажите алгоритм. Пока просматривается следующее. Поскольку раздел мест невозможен, то представляя лучшее и худшее место спортсмена во всех попытках как координаты отрезка, задача сводится к определению количества связных областей в начале координатной прямой. Т.е. реализация в самом общем виде что-то типа такого: - считать данные в массив, где каждому спортсмену отводится по 2 позиции: на первой лучшее место, на второй худшее место - с первой позицией связываем +1, со второй - -1 (можно использовать либо пару массивов, либо один, но с несколько более сложной структурой элементов - в принципе, это сейчас не интересует) - сортируем массив (второй - по результатам первого) - осталось посчитать сумму первых +/-1 до получения первого нуля. Количество +1 дает количество победителей. Особо смущает факт, что сортировка должна быть стабильной. А это сразу увеличивает время, особенно на больших количествах. Это наталкивает на грустную мысль, что само решение неверное. Подскажите, пожалуйста, правильный ли подход в принципе. Жаль тратить время на неправильное решение. |
![]() ![]() |
| Lapp |
17.03.2009 11:27
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Найти и вывести в выходной файл количество лучших спортсменов. Извиняюсь, но не вполне врубился в условие. Можешь привести пример?-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
passat победитель 17.03.2009 10:14
maksimla если я правильно понял по строчкам
Считается, что... 17.03.2009 10:35
passat
Извиняюсь, но не вполне врубился в условие. Може... 17.03.2009 12:32
Lapp Тот, что есть, не помогает:
1 2 3
2 3 1
3 1 2
От... 18.03.2009 4:09
TarasBer По моему разумению, ответ к этим данным должен бы... 18.03.2009 15:37
Lapp У Частично Упорядоченного Множества (а мы имеем де... 19.03.2009 3:20
passat
Если я правильно понял, что вы имеете в виду, то ... 27.03.2009 20:17
TarasBer
Поняли, видимо, правильно.
В Вашем примере Вы отб... 29.03.2009 23:36
passat
А ну и что? Первый спортсмен - один из лучших, пр... 1.04.2009 15:48
maksimla мне тогда кажется надо все серавно слапить три рез... 18.03.2009 10:28
passat
Это было бы слишком просто. Непонятно, в чем смыс... 18.03.2009 12:25
Lapp А прояснить условие негде? 18.03.2009 13:06
passat К сожалению, нет.
Давайте исходить из того, что пр... 18.03.2009 14:13
TarasBer Лучший - это не тот, который лучше всех остальных.... 19.03.2009 13:05
volvo В таком случае, зачем проводятся соревнования? Поп... 19.03.2009 13:38
TarasBer
В таком случае, зачем проводятся соревнования? По... 19.03.2009 13:48
Lapp не верите, что он лучший - тогда назовите того, кт... 19.03.2009 14:12
TarasBer
O'kay, согласен. Возникла некоторая путаница... 19.03.2009 14:55
Archon Интересная задачка, правда явно олимпиадная, поэто... 2.04.2009 8:30
passat
Другой пример Lapp'а.
3 4 2 1
2 3 4 1
1 2 4 3... 3.04.2009 17:39![]() ![]() |
|
Текстовая версия | 9.12.2025 1:08 |