Danh tiếng của bạn sẽ ra sao nếu không có nắp đại diện?


16

Trong thử thách này, bạn sẽ tính toán danh tiếng của bạn sẽ là gì, nếu giới hạn danh tiếng không tồn tại trên PPCG.

Mọi người đều có thể truy cập rawdata để thay đổi danh tiếng trên địa chỉ: codegolf.stackexchange.com/reputation . Dữ liệu thô tuân theo thiết lập như thế này (đây là vài dòng đầu tiên của phiên bản trang của tôi.

total votes: 2955
-- bonuses   (100)
 2     37663 (10)
-- 2014-09-11 rep +110  = 111       
 2     41751 (10)
-- 2014-11-23 rep +10   = 121       
 2     41751 (10)
 2     41751 (10)
-- 2014-11-24 rep +20   = 141       

Dòng đầu tiên không liên quan đến thử thách này (nó cho thấy tổng số phiếu bạn đã nhận được trên tất cả các câu trả lời và câu hỏi của bạn). Dòng thứ hai hiển thị "Phần thưởng Hiệp hội". Nếu bạn không có tiền thưởng thì dòng đó sẽ không có ở đó.

Sau hai dòng này (hoặc một, nếu không có phần thưởng), bạn sẽ có một danh sách thay đổi danh tiếng cho mỗi câu hỏi, cùng với một bản tóm tắt về tất cả các đại diện được / mất mỗi ngày. Bạn cũng sẽ nhận được một danh sách tổng số danh tiếng bạn có vào cuối ngày hôm đó. Chỉ những ngày mà danh tiếng của bạn thay đổi được hiển thị trong danh sách này.

Có các định danh ở đầu mỗi dòng (ngoại trừ các dòng tóm tắt hàng ngày). Đây là những lý do thay đổi danh tiếng tiềm năng sau đây:

1 : Accept (+2 if you accept, +15 if your answer is accepted)
2 : Upvote (+5 for question, +10 for answer)
3 : Downvote (-1 if you downvote answer, -2 if you get downvoted)
4 : Offensive (-100)
8 : Give bounty
9 : Receive bounty
12: Spam (-100)
16: Approved edit (+2)

Những con số bị thiếu ( 5,6,7,10,11,13,14,15không ảnh hưởng đến danh tiếng).


Thách thức của bạn là tính toán danh tiếng mà bạn sẽ có, nếu đó không phải là giới hạn danh tiếng.


Làm thế nào bạn sẽ làm điều này:

Lưu nội dung codegolf.stackexchange.com/reputationdưới dạng văn bản thuần túy cục bộ hoặc một số nơi khác bạn chọn (điều này là do bạn cần phải đăng nhập để truy cập thông tin). Bạn có thể lấy dữ liệu từ trang web trực tiếp nếu bạn thích, mặc dù tôi cho rằng sẽ lâu hơn rất nhiều.

Tổng hợp tất cả những thay đổi danh tiếng tích cực và tiêu cực. Các phiếu bầu không dẫn đến thay đổi danh tiếng (do giới hạn đại diện) được hiển thị như thế này (chú ý dấu ngoặc vuông, thay vì dấu ngoặc đơn thông thường):

 2    106125 [0]
 2    106125 [0]
 3    106125 [-2]
 2    106088 [2]
 2    106125 [0]
 2    106088 [0]

Bạn phải bao gồm đại diện mà bạn sẽ nhận được nếu không phải là giới hạn.

Số bài viết 106125là một câu hỏi , trong khi 106088một câu trả lời . Như bạn có thể thấy, không có cách nào để phân biệt sự khác biệt giữa hai chỉ sử dụng dữ liệu được đưa ra trong bảng. Do đó, bạn phải truy cập trang web ( codegolf.stackexchange.com) để kiểm tra xem bài đăng là câu hỏi hay câu trả lời. Bạn cũng có thể sử dụng API cho việc này.


Quy tắc:

  • Mọi người phải có thể chạy tập lệnh của bạn vì vậy:
    • Bạn phải bao gồm tất cả các loại thay đổi danh tiếng khác nhau, ngay cả khi bạn không gặp phải nó.
    • Mã phải hoạt động ngay cả khi bạn chưa nhận được tiền thưởng của Hiệp hội (dòng sẽ không có nếu bạn không có)
    • Bạn có thể sử dụng các ngôn ngữ không miễn phí (Mathicala, MATLAB, v.v.), miễn là những ngôn ngữ khác có giấy phép có thể chạy mã.
    • Bạn không phải cung cấp dữ liệu thô, vì mọi người đều có thể kiểm tra mã của bạn trên phiên bản trang của riêng họ (sẽ rất thú vị nếu bạn chia sẻ kết quả mặc dù, nhưng đó là tùy chọn).
  • Bạn có thể sử dụng API hoặc truy cập trang web trực tiếp. rút ngắn url không được phép.
  • Nếu có những cách khác để tìm đại diện bạn sẽ có mà không có nắp đại diện thì bạn không thể sử dụng nó. Bạn phải sử dụng dữ liệu từ trang được đề cập.

Lưu ý rằng các bài đăng là câu trả lời có phần mở rộng khác với url:

/codegolf/106088        // Answer: Notice the end of the url
/codegolf/106079/detect-ms-windows/106088#106088

/codegolf/106079/       // Question: Notice the end of the url
/codegolf/106079/detect-ms-windows

Đầu ra:

Đầu ra phải là:

Rep w cap: 15440
Rep w/o cap: 16202

Các định dạng là tùy chọn, [15440,16202]được chấp nhận. Rep w capcó thể được lấy trực tiếp từ dòng: ** total rep 15440 :)gần cuối trang.


Đây là vì vậy mã ngắn nhất trong byte sẽ thắng.



4
751. Rip tôi và cuộc sống của tôi
Christopher

2
lol tôi chưa bao giờ nhấn repcap trước đây.
HyperNeutrino

Chỉ cần làm rõ, danh tiếng của bạn với giới hạn là tổng số đại diện của bạn và danh tiếng thay đổi trong dấu ngoặc vuông?
Graviton

Câu trả lời:


3

Perl 5 (với curl), 209 + 1 (cờ -n) = 210 byte

if(/([0-9]+)\s*([0-9]+) \[([0-9]*)/){$_=`curl /codegolf//a/$2`;@p=(2,5,-1);$p[15]=2;@s=(13,5,-1);$x=$1;$r+=($p[--$x]//-100)-$3;$r+=$s[$x]if/#/;};$t=$1 if/([0-9]+) :/;END{say$t,$",$r+$t}

Lạm dụng thực tế là url cho một câu trả lời có #trong đó. Có thể thêm một -scờ sau curlnếu bạn không thích stderr bị ngập trong thanh tiến trình. Tôi sẽ đánh giá cao một người nào đó có trang thử nghiệm danh tiếng đa dạng hơn - tôi không thể chắc chắn mình đã bỏ lỡ điều gì.

Của tôi là 421 và nhân tiện sẽ là 451.


Tôi chưa bao giờ sử dụng Perl trước đây và tôi không thể thấy bạn lấy rawdata từ đâu. Tôi phải đặt rawdata ở đâu nếu tôi muốn kiểm tra điều này? Lưu ý: Tôi đang sử dụng Strawberry trên Windows 10. Tôi không có Unix hoặc OS X. Và tôi sẽ gọi nó như thế nào?
Stewie Griffin

@Stewie Griffin Nó đọc dữ liệu thô từ stdin. Mã này là một lớp lót, và nên được thực thi một cái gì đó như perl -nE 'code' < filename. Bạn có thể phải thực hiện một số trích dẫn khác nhau và thoát khỏi mọi thứ trên Windows, tôi không quen thuộc lắm với môi trường ở đó.
Chris

Tối ưu hóa nhỏ: bạn có thể xóa https://nếu bạn chuyển -Lcờ để cuộn tròn, cho phép nó đi theo chuyển hướng 301
markasoftware

@Markasoftware Điều đó sẽ theo nhiều chuyển hướng đến trang thực tế, phải không? Như vậy, mã của tôi phân tích chuyển hướng 301 từ /codegolf//a/$2chứ không phải chính trang đó.
Chris

Tôi nhận được Search pattern not terminated at -e line 1.khi tôi thử điều này. Tôi chỉ cần dán toàn bộ mã bằng cách sử dụng những gì bạn đã viết trong bình luận ( perl -nE ..), trong khi lưu tệp trong thư mục làm việc hiện tại. Bất cứ ý tưởng tại sao đó có thể là?
Stewie Griffin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.