Пару месяцев назад у нас была дискуссия о мета- росте репутации, которая присуждается за положительные отзывы по вопросам. Вот основы нашей нынешней системы репутации для голосов: 1
- Вопрос upvote
U
стоит 5 репутации. - Ответ upvote
u
стоит 10 репутации. - Понижение вопроса или ответа
d
стоит -2 репутации.
Было много разных предложений для новой системы, но в настоящее время наиболее популярным является то же самое, что и выше, но с ростом голосов до +10. Задача состоит в том, чтобы рассчитать, сколько еще репов вы заработаете, если эта система будет введена в действие.
Давайте посмотрим на пример. Если бы голосование было таким UUUUuuuuUUUUUduuudUU
, то вы бы заработали 121 по текущей системе:
U x 4 x 5 = 20 = 20
u x 4 x 10 = 40 = 60
U x 5 x 5 = 25 = 85
d x 1 x -2 = -2 = 83
u x 3 x 10 = 30 = 113
d x 1 x -2 = -2 = 111
U x 2 x 5 = 10 = 121
Total: 121
Но та же самая деятельность заработала бы 176 в новой системе:
U x 4 x 10 = 40 = 40
u x 4 x 10 = 40 = 80
U x 5 x 10 = 50 = 130
d x 1 x -2 = -2 = 128
u x 3 x 10 = 30 = 158
d x 1 x -2 = -2 = 156
U x 2 x 10 = 20 = 176
Total: 176
По этому сценарию вы получите 55 повторений .
Пока что вычисление измененного представителя не так сложно; просто посчитайте число U
s и умножьте на 5. К счастью, система повторений не так проста: есть также предел повторений , который является самой высокой репутацией, которую вы можете заработать на голосах за один день UTC. Это установлено на 200 на всех сайтах.
Кроме того, ограничение на количество повторений применяется в режиме реального времени: если вы уже заработали 196 повторений и получили ответный ответ, теперь у вас будет 200 повторений. Если сразу после этого вы получите отрицательное значение, 2 повторения будут вычтены из 200, поэтому у вас будет 198 повторений.
В результате голосования UUUuuuuUUUUuuuuUUUUUUUd
вы наберете 148 представителей в текущей системе:
U x 3 x 5 = 15 = 15
u x 4 x 10 = 40 = 55
U x 4 x 5 = 20 = 75
u x 4 x 10 = 40 = 115
U x 7 x 5 = 35 = 150
d x 1 x -2 = -2 = 148
Total: 148
Но вы заработаете 198 по новой системе:
U x 3 x 10 = 30 = 30
u x 4 x 10 = 40 = 70
U x 4 x 10 = 40 = 110
u x 4 x 10 = 40 = 150
U x 7 x 10 = 70 = 200 (rep capped)
d x 1 x -2 = -2 = 198
Total: 198
Таким образом, увеличение составляет 50 респ .
Вызов
Ваша задача - написать программу или функцию, которая принимает многострочную строку и выводит общее количество повторений, которое будет получено с помощью вышеуказанного алгоритма. Каждая строка считается как 1 день UTC, поэтому ограничение на количество повторений применяется только один раз для каждой строки.
Контрольные примеры
(Одна или несколько строк ввода, за которыми следует выходное целое число.)
UUUuudd
15
UUUuUUUUuUuuUUUUudUUUUuU
57
UUUuUUUUuUuuUUUUudUUUUuU
UUUuudd
72
uuuuuuu
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
0
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
5
(empty string)
0
UUUuuuuuUUUuuUUUUUUuuuUUUuuUUUUuuuuUUUdddddddUU
4
UUUuuuuuUUUuuUUUUUUuuuUUUuuUUUUuuuuUUUdddddddUU
UuuUUUudUU
UUUUUUUUUuuuuuuUUUUUUuuUUUUUUuuuuuUUUUUUUUuUUUuuuuUUUUuuuUUUuuuuuuUUUUUUUUuuUUUuuUU
UUu
U
d
UU
UUUUUUUUUUUU
119
Это код гольф, поэтому выигрывает самый короткий код в байтах.
Задачи, связанные с данной : Рассчитайте ограниченную совокупную сумму вектора , Рассчитайте свою репутацию обмена стека
1 Это очень упрощенная версия системы. Вы также теряете 1 повторение за отказ от ответа, и существуют отклонения, которые являются странными и следуют собственным правилам ; и отказов голосов, которые даже не имеют правил для подражания .