Viết mã để xác định câu trả lời được chấp nhận


14

Đăng một câu trả lời cho câu hỏi này để đánh giá bất kỳ câu trả lời cho câu hỏi này và xác định xem nó có thắng hay không.

Ai thắng:

  • Người chiến thắng là câu trả lời chiến thắng theo nhiều câu trả lời nhất vào 1700 UTC, Chủ nhật, ngày 2 tháng 3.
  • Bạn được chào đón và khuyến khích thay đổi câu trả lời của riêng bạn khi cuộc thi tiến triển. Xin đừng thay đổi người khác.
  • Ties được xác định bởi mã ngắn nhất.
  • Bất kể bạn có thể làm bao nhiêu lần sockpuppet, nếu có gì đó tanh, tôi sẽ không đủ điều kiện cho bạn.
  • Tôi sẽ không chấp nhận câu trả lời của riêng tôi, nhưng tôi sẽ sử dụng nó để đánh giá câu trả lời của bạn.

Quy tắc:

  • Tính toán của bạn phải cung cấp điểm số cho bất kỳ câu trả lời tùy ý nào (để dễ dàng, đầu vào cho thuật toán của bạn là id của câu trả lời hoặc đánh dấu câu trả lời trên trang).
  • Điểm của bạn phải có ít nhất một người chiến thắng và phải có câu trả lời bên cạnh bạn để giành chiến thắng.
  • Thuật toán của bạn không thể sử dụng một cái gì đó rất cụ thể cho câu trả lời của bạn, cũng như không thể sử dụng tên người dùng hoặc dấu thời gian. Tôi sẽ là người đánh giá cuối cùng về ý nghĩa của "rất cụ thể", nhưng tôi khuyến khích chính sách cộng đồng và sự xấu hổ công khai.
  • Mã của bạn phải biên dịch, chạy và cho điểm cho bất kỳ câu trả lời nào.
  • Vui lòng bao gồm một liên kết đến một cách để thực thi mã của bạn nếu nó không được liệt kê trên Ideone . Xem bên dưới.

Ngôn ngữ Ideone


1
Bất kỳ lý do đặc biệt cho hạn chế "Vui lòng chỉ đóng góp một câu trả lời"? Nếu tôi phát triển hai thuật toán rất khác nhau với hai tiêu chí rất khác nhau, tôi có thể đăng cả hai không?
Victor Stafusa

@Victor Tôi đoán bạn đúng. Tôi có thể giảm bớt quy tắc đó, nhưng tôi sẽ đóng cửa mọi người vì sắp xếp bộ bài.
Không phải Charles

Người chiến thắng có nên xác định chính xác rằng chính nó là người chiến thắng? IE, nếu câu trả lời A, B và C nói rằng D là người chiến thắng, nhưng D nói rằng A là người chiến thắng, liệu D có phải là người chiến thắng ngay cả khi đó là một câu trả lời sai?
Victor Stafusa

@Victor Người chiến thắng không cần phải chính xác. Đó sẽ là cách quá khó.
Không phải Charles

Từ khi nào Ideone cho phép truy cập mạng?
nyuszika7h

Câu trả lời:


6

R, 1 char

1

Bạn có thể cung cấp id của câu trả lời dưới dạng đối số dòng lệnh nếu muốn. :) Liên kết đến ideone.

Công phu hơn nữa

Vì không có thực tế cho câu trả lời để thực hiện các câu trả lời khác (các ngôn ngữ khác nhau, v.v.) và đánh giá chúng dựa trên kết quả của họ, cách duy nhất còn lại tôi có thể thấy để đưa ra điểm số là sử dụng một số số liệu mã.

Tôi đã nhận thấy rằng tất cả các câu trả lời khác cho đến nay cho điểm cao hơn cho các chương trình ngắn hơn. Tôi tin rằng đây là mã ngắn nhất có thể vì vậy nó sẽ được xếp hạng cao trong kết quả của các câu trả lời khác.

Làm thế nào và những gì câu trả lời mã của tôi cung cấp cho các câu trả lời khác ít liên quan hơn. Khía cạnh quan trọng duy nhất là những người khác xếp hạng câu trả lời của tôi cao.


Xin hãy giải thích.
rahulroy9202

1
@ rahulroy9202 Câu trả lời cập nhật với lý luận của tôi.
Andris

2
: D điểm tốt. Giả định của bạn là hợp lý. Trừ khi có ai đó tìm ra cách in 1 mà không có mã nào cả. : D
rahulroy9202

@ rahulroy9202 Tôi nghĩ rằng không thể đăng một khối mã trống vì vậy ngay cả khi điều này là có thể bằng ngôn ngữ bạn không thể đăng "mã" ở đây. : D
Andris

hãy thử <code> </ code> bên trong câu trả lời và mã của tôi sẽ đọc nó dưới dạng 0 char answer. : D
rahulroy9202

3

R, 1 char

0

Theo dõi câu trả lời của @ Andris, hiện có hai mã có một ký tự duy nhất: Andris's và của tôi. Vì chúng tôi buộc trong mắt những câu trả lời khác, nên cả hai chúng tôi đều không "thắng" hoàn toàn, vì vậy câu trả lời của tôi sẽ không "thắng". :-)


2

Ruby, 368 char

require 'json'
require 'open-uri'
v='body';w="#{v}_markdown";s='comments'
x=if(d=JSON.parse(open("http://api.stackexchange.com/2.2/answers/#{ARGV[0]}?site=codegolf&filter=!%29r%28UkmOhmCPjXru-TDty").read)['items'][0]).include?(s) then d[s].map{|c|c[w].length*[1,c[w].index('`')||1,c[w].index('\n')||1].max}.reduce(:+) else -2 end
puts d['score']*150+5*(d[v].match(/<(..).*?\1.*?\1/m))[0].ord+x-$~.end(0)

Chúc may mắn!


2

JavaScript-190 char

Giả định: Khối mã đầu tiên là câu trả lời.

var ans=$('.answer'),s=999,sa;
for(i=0;i<ans.length;i++){
    var x =  ans[i].getElementsByTagName('code');   
    var z = x[0].innerHTML.replace(/\s/g,'').length;
    if(s>z){
        s=z;
        sa=ans[i];
        }    
}
console.log(sa);

Có thể được kiểm tra trong bảng điều khiển trình duyệt. Nó giả sử câu trả lời ngắn nhất là câu trả lời đúng.

Cách thực hiện- Trên Chrome / Firefox mở bảng điều khiển trong khi trên trang này, dán mã và thực thi.


Nó cũng hoạt động trong bảng điều khiển IE 11 :)
ComFalet
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.