몇 달 전, 우리는 질문에 대한 찬사를받는 사람들의 명성을 높이는 것에 대한 메타 에 대해 토론했습니다 . 투표에 대한 현재 평판 시스템의 기본 사항은 다음과 같습니다. 1
- 공감대
U
는 5 점의 가치가 있습니다. - 답은 공평
u
10 가치가 있습니다. - 질문이나 답변 downvote
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를 곱하면됩니다. 다행히도 rep 시스템은 그렇게 간단하지 않습니다. rep cap 도 있습니다.이 rep cap 은 UTC 투표에서 1 일 동안 얻을 수있는 가장 높은 평판입니다. 모든 사이트에서 200으로 설정되어 있습니다.
또한 담당자 한도는 실시간으로 적용됩니다. 이미 196 명의 담당자를 얻었고 답변 투표를 받으면 200 명의 담당자가됩니다. 그 후 바로 downvote를 받으면 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 rep 입니다.
도전
여러 줄로 된 문자열을 가져 와서 위의 알고리즘으로 얻을 수있는 총 rep를 출력하는 프로그램이나 함수를 작성해야합니다. 각 줄은 UTC 1 일로 계산되므로 담당자 한도는 한 줄에 한 번만 적용됩니다.
테스트 사례
(하나 이상의 입력 행과 출력 정수가 이어짐)
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 명의 대표를 잃게되고, 이상 하지 않고 그들 자신의 규칙을 따르는 unvovotes 가 있습니다 ; 그리고 규칙을 준수하지 않은 undownvotes .