สองสามเดือนที่ผ่านมาเราได้อภิปรายเกี่ยวกับเมตาดาต้าเกี่ยวกับการเพิ่มชื่อเสียงที่ได้รับจากการโหวตคำถาม นี่คือพื้นฐานของระบบชื่อเสียงของเราในปัจจุบันสำหรับการลงคะแนน: 1
- การโหวตคำถาม
U
มีค่า 5 ชื่อเสียง - คำตอบ upvote
u
มีค่า 10 ชื่อเสียง - คำถามหรือคำตอบ downvote
d
มีค่า -2 ชื่อเสียง
มีข้อเสนอแนะที่แตกต่างกันมากมายสำหรับระบบใหม่ แต่ปัจจุบันได้รับความนิยมมากที่สุดเหมือนกับข้างต้น แต่มี upvotes คำถามปรับสัดส่วนเป็น +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
และคูณด้วย 5 โชคดีที่ระบบตัวแทนนั้นไม่ง่ายอย่างนั้น: นอกจากนี้ยังมีตัวแทนตัวแทนซึ่งมีชื่อเสียงมากที่สุดที่คุณสามารถได้รับจากการโหวตในหนึ่งวัน UTC สิ่งนี้ถูกตั้งค่าเป็น 200 ในทุกเว็บไซต์
นอกจากนี้หมวกตัวแทนจะใช้งานแบบเรียลไทม์: หากคุณได้รับ 196 ตัวแทนและคุณได้รับคำตอบ upvote ตอนนี้คุณจะมี 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 ตัวแทน
ท้าทาย
ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในสตริงแบบหลายบรรทัดและส่งออกตัวแทนทั้งหมดที่จะได้รับจากอัลกอริทึมด้านบน แต่ละบรรทัดนับเป็น 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 ตัวแทนสำหรับ downvoting คำตอบและมีอยู่ unupvotes ซึ่งมีความแปลกและปฏิบัติตามกฎของตัวเอง ; และ undownvotes ซึ่งไม่ได้มีกฎระเบียบที่จะปฏิบัติตาม