![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 20
|
![]()
Задание:
Хотите посоревноваться в ACM ICPC? Тогда вам нужно знать, как вести счет! Участники соревнований ранжируются сначала по числу решенных задач (чем больше, тем лучше), а потом по уменьшению величины штрафного времени. Если у двух и более участников совпадает и количество решенных задач, и величина штрафного времени, то они отображаются в порядке увеличения номеров команд. Задача засчитывается решенной участником соревнований, если любая из попыток отправки этой задачи была признана верной. Штрафное время рассчиты- вается как число минут, прошедших до того, как было отправлено правильное решение, плюс 20 минут за каждую некорректную отправку, имевшую место до верного решения. За нерешенные задачи штрафное время не начисляется. Входные данные Входные данные начинаются со строки, содержащей одно целое положительное число, задающее число блоков, которые описаны ниже. За этой строкой следует пус- тая. Также пустая строка находится между двумя последовательными блоками. Входные данные состоят из судейского списка очередности, содержащего вхожде- ния по нескольким или по всем участникам соревнований с 1-го по 100-й, решающим задачи с 1-й по 9-ю. Каждая строка входных данных состоит из трех чисел и буквы в формате участник задача время L, где L может быть С, I, R, U или Е. Это означа- ет: Correct (верно), Incorrect (неверно), Clarification Request (уточняющий запрос), Unjudged (необработан) и Erroneous submission (отправка с ошибкой). Последние три случая не влияют на счет. Строки входных данных идут в том порядке, в котором получались посылки. Выходные данные Выходные данные для каждого блока должны представлять собой табло, отсортированное по критериям, описанным выше. Каждая строка выходных данных должна содержать номер участника, количество задач, решенных участником, и полное штрафное время, полученное участником. Так как не все участники в дейст- вительности соревнуются, отображайте только тех участников, кто посылал решения. Между выходными данными для двух последовательных блоков должна быть пустая строка. Пример входных данных 1 1 2 10 I 3 1 11 С 1 2 19 R 1 2 21 С 1 1 25 С Соответствующие выходные данные 1 2 66 3 1 11 |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
вот. вроде правильно:
Код:
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 20
|
![]()
Min, большое спасибо за такую скорую помощь, но у меня что-то не получилось из входных данных (из примера) получить соответствующие выходные. Я получила:
3 0 0 1 0 20 А у тебя как, получилось? Последний раз редактировалось Juliya_U; 07.04.2009 в 19:38. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
Вы во входных данных "C" русскую написали, а надо английскую.))))))
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 20
|
![]()
Точно, спасибо, это я копипастила, чтоб не ошибиться) А можно еще вопрс: не могу понять зачем в процедуре swap переприсваиваются элементы.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 20
|
![]()
И еще)) мне просто необходимо данные вводить не с файла, а с клавиатуры, а для этого я так понимаю нужен динамический массив, т.к. я не могу заранее определить кол-во вводимых строк. Подскажите пожалуйста как это правильно сделать.
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
swap - это процедура обмена местами 2х элементов массива. нужна для сортировки.
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
да разницы впринципе нет, за исключением тогдо что ситывать придется String'у а потом уже переводить её в нужные величины. А динамический массив нужен в том случае, если колличество входных данных просто не умещается в максимальный размер массива. А если это так, то и из файла нужно в динамический массив будет считывать. А работа с дин. массивом - это куча заморочек. все переписывать придется и скорость выполнения упадет прилично.
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
В ващем случае дин. массив не нужен, т.к. участников только 100
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
ааааа......... перечитал задачу внимательнее)))))
Инфу оказыца поблочно нужно выводить)))) а я всё в кучу сделал)))) ну моё решение подправить несложно.... А вот если с клавы вводить, то тут уж данных нехватает. А именно максимального колличества блоков.
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Очень интересная задача на Pascal !!! Советую посмотреть!!! | d00ker | Помощь студентам | 5 | 14.01.2009 19:46 |
Интересная задача в Pascal | cuzo | Помощь студентам | 9 | 28.12.2008 17:50 |