2 / 2 / 0
Регистрация: 05.06.2019
Сообщений: 82
|
||||||
1 | ||||||
Олимпиадная задача по программированию. PascalABC.NET08.10.2019, 21:24. Показов 32730. Ответов 21
Метки нет Все метки)
(
Здравствуйте, я готовлюсь к школьной олимпиаде по информатике, не могу решить задачу (85 баллов из 100). Помогите, пожалуйста.
Условие В этом году третий раз одна известная компания проводит соревнование по программированию искусственного интеллекта для игровых стратегий. В этот раз участникам предложили написать искусственный интеллект для управления командой хоккеистов. После проведения очередного тура, Вася решил, что для дальнейшего улучшения своей стратегии необходимо просмотреть все бои с теми соперниками, которые сопоставимы с ним по проценту побед. Задана таблица результатов боев в прошедшем раунде. В каждой строке записаны ник соперника Васи и итоговый счет. Первое число показывает, сколько шайб забила стратегия Васи, вторая — сколько шайб забила стратегия соперника. Необходимо подсчитать процент побед каждого участника и вывести результат, отсортировав его в порядке неубывания процентов. Если процент побед оказался одинаковым, то нужно упорядочить записи по никам лексикографически. Формат ввода В первой строке входного файла записано целое число N (1 ≤ N ≤ 105) — количество записей в таблице. В каждой из последующих N строк через пробел записаны ник соперника, сколько забила Васина команда и сколько забил соперник. Гарантируется, что каждый ник — непустая строка, длина которой не превосходит 10 символов и состоящая из строчных букв латинского алфавита. Так же известно, что никто из участников не забивал больше 1000 голов. Формат вывода В первой строке выходного файла выведите количество соперников. В последующих строках выведите ник соперника и процент побед Васиной команды с точностью не хуже шести знаков после запятой. Пример 1 Ввод 1 tpusct 1 60 Вывод 1 tpusct 0.0000000000 Пример 2 Ввод 35 v 86 45 v 77 90 pmuehueqm 74 40 mslrsnshk 71 13 fy 43 1 mslrsnshk 76 87 gwpr 37 78 mxzsoel 4 39 pmuehueqm 78 75 v 59 45 gwpr 25 52 bjyaiptxmw 48 48 mxzsoel 13 76 givnyujn 38 70 mslrsnshk 58 66 givnyujn 33 66 pmuehueqm 100 53 pmuehueqm 80 17 pmuehueqm 2 48 mxzsoel 68 4 bjyaiptxmw 43 40 be 81 92 be 34 55 bjyaiptxmw 88 5 mslrsnshk 49 82 givnyujn 91 30 bjyaiptxmw 33 19 bjyaiptxmw 46 17 i 70 35 givnyujn 38 55 pmuehueqm 7 81 mxzsoel 0 9 i 64 30 v 80 42 mslrsnshk 79 64 Вывод 10 be 0.0000000000 gwpr 0.0000000000 givnyujn 25.0000000000 mxzsoel 25.0000000000 mslrsnshk 40.0000000000 pmuehueqm 66.6666666667 v 75.0000000000 bjyaiptxmw 80.0000000000 fy 100.0000000000 i 100.0000000000 Мой код:
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
08.10.2019, 21:24 | |
Ответы с готовыми решениями:
21
Олимпиадная задача по программированию. PascalABC.NET
|
5020 / 2607 / 2332
Регистрация: 10.12.2014
Сообщений: 9,928
|
|||||||||||||||||||||||||||||||||||||||||
09.10.2019, 06:59 | 2 | ||||||||||||||||||||||||||||||||||||||||
![]() Решение
Почему именно массив? Ведь списком гораздо легче!
Да и „парсить“ PABC.NET умеет лучше:
Это запросто:
Давайте отсортируем: — сначала по никам, чтобы было в лексикографическом порядке — потом по процентам, чтобы было по условию
1
|
2112 / 1261 / 476
Регистрация: 07.04.2017
Сообщений: 4,460
|
||||||
09.10.2019, 10:48 | 3 | |||||
![]() Решение
Лучше так:
2
|
2 / 2 / 0
Регистрация: 05.06.2019
Сообщений: 82
|
|
09.10.2019, 15:49 [ТС] | 4 |
Большое спасибо. Про списки я вообще ничего не знал, пойду почитаю. А что за цикл loop? Как его заменить, он был добавлен в версии 3.3, а на олимпиаде используется 3.1
0
|
2112 / 1261 / 476
Регистрация: 07.04.2017
Сообщений: 4,460
|
|||||||||||
09.10.2019, 16:04 | 5 | ||||||||||
dummy_var_name какое то случайное имя, которое ещё не было использовано в программе.
1
|
2 / 2 / 0
Регистрация: 05.06.2019
Сообщений: 82
|
|
09.10.2019, 17:28 [ТС] | 6 |
Теперь ему не нравится знак $.
Unexpected symbol '$'
0
|
140 / 107 / 56
Регистрация: 15.09.2017
Сообщений: 425
|
|
09.10.2019, 17:32 | 7 |
Это форматная строка. $'{x} {y}' разворачивается в string.Format('{0} {1}', x, y)
1
|
Alvin Seville
|
|
09.10.2019, 18:11 | 8 |
sadfasfsad, попробуйте обновить PascalABC.NET. Почитайте про интерполированные строки в C#.
0
|
254 / 147 / 69
Регистрация: 29.07.2018
Сообщений: 1,170
|
|
09.10.2019, 18:14 | 9 |
0
|
140 / 107 / 56
Регистрация: 15.09.2017
Сообщений: 425
|
|
09.10.2019, 18:14 | 10 |
0
|
Alvin Seville
|
||||||
09.10.2019, 18:16 | 11 | |||||
Однако, стоит заметить, что вложенные интерполированные строки не поддерживаются в Pascal, в отличие от C#:
0
|
254 / 147 / 69
Регистрация: 29.07.2018
Сообщений: 1,170
|
|
09.10.2019, 18:18 | 12 |
Соколиный глаз,
Не по теме: На первый раз прощаю
0
|
Status 418
![]() |
||||||
10.10.2019, 11:26 | 14 | |||||
Как то так:
1
|
2 / 2 / 0
Регистрация: 05.06.2019
Сообщений: 82
|
|
13.02.2020, 11:20 [ТС] | 15 |
А как мне вывести еще и количество элементов в массиве?
0
|
254 / 147 / 69
Регистрация: 29.07.2018
Сообщений: 1,170
|
||||||
13.02.2020, 11:25 | 16 | |||||
0
|
2 / 2 / 0
Регистрация: 05.06.2019
Сообщений: 82
|
|
13.02.2020, 11:27 [ТС] | 17 |
Необходимо сначала вывести длину того, что получилось (а не изначальную), а потом что в нем находится
0
|
254 / 147 / 69
Регистрация: 29.07.2018
Сообщений: 1,170
|
|
13.02.2020, 11:29 | 18 |
sadfasfsad, А сами не не додумались,строки поменять!?Думайте.
0
|
2 / 2 / 0
Регистрация: 05.06.2019
Сообщений: 82
|
||||||
26.02.2020, 23:16 [ТС] | 19 | |||||
0
|
2112 / 1261 / 476
Регистрация: 07.04.2017
Сообщений: 4,460
|
|
27.02.2020, 05:03 | 20 |
Так а за что снижение балов? Скорость? Память? Неправильные ответы?
0
|
27.02.2020, 05:03 | |
Помогаю со студенческими работами здесь
20
Установится ли PascalABC.NET на систему, где установлен только .NET 4.6.1? График температур. Подправить код из turbo (не знаю где писать в PascalABC или PascalABC.net)
Олимпиадная задача по программированию Олимпиадная задача по программированию: Таджикские имена Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |