งานของคุณ - ถ้าคุณยอมรับมัน - คือการเขียนโปรแกรมซึ่งจะช่วยให้เข้าใจข้อเสนอของฉันเกี่ยวกับเมตาโดยการคำนวณผู้ชนะของรหัสกอล์ฟกลับรายการการแข่งขัน แน่นอนคำตอบสำหรับคำถามนี้จะได้รับการปฏิบัติตามที่เสนอดังนั้นโปรแกรมของคุณ (หากถูกต้อง) สามารถคำนวณได้ว่าคำตอบของคุณจะกลายเป็นคำตอบที่ยอมรับหรือไม่
กฎระเบียบ
- โปรแกรมอ่านไฟล์ที่มีหลายบรรทัดในรูปแบบต่อไปนี้ (ดูตัวอย่างด้านล่าง): [ภาษา] TAB [NumberOfCharacters] TAB [LinkToAnswer]
- ชื่อไฟล์ถูกส่งผ่านเป็นอาร์กิวเมนต์ไปยังโปรแกรมของคุณหรือไฟล์ถูกเปลี่ยนเส้นทางไปยังอินพุตมาตรฐานของโปรแกรมของคุณ เป็นทางเลือกของคุณโปรดพูดถึงวิธีการเมื่อให้คำตอบ
- คาดว่ารูปแบบอินพุตจะถูกต้อง ไม่จำเป็นต้องมีข้อผิดพลาดในการจัดการ
- จำนวนตัวอักษรเป็นบวก โปรแกรมของคุณจะต้องจัดการกับความยาวได้ถึง 65535 64k ควรจะเพียงพอสำหรับทุกคน :-)
- โปรแกรมเอาต์พุตบรรทัดเหล่านั้นบนเอาต์พุตมาตรฐานซึ่งตรงกับแนวคิดของข้อเสนอเมตานั่นคือ
- รหัสที่สั้นที่สุดของภาษาการเขียนโปรแกรมเฉพาะชนะ (ขั้นตอนการลดขนาด)
- รหัสที่ยาวที่สุดในบรรดาภาษาการเขียนโปรแกรมทั้งหมดชนะ (เฟสการเรียงลำดับ)
- ในกรณีที่มีการเสมอคำตอบทั้งหมดที่มีความยาวเท่ากันจะถูกพิมพ์ออกมา
- ลำดับของเอาต์พุตไม่สำคัญ
- แม้ว่าที่ยาวที่สุดชนะรหัสนี้ไม่ได้เป็นรหัสโบว์ลิ่ง รหัสของคุณจะต้องสั้นที่สุดสำหรับภาษาโปรแกรมของคุณ
- คำตอบเกี่ยวกับการเขียนโปรแกรมภาษาที่ไม่ค่อยจะมีความพยายามที่จะย่อรหัสสมควร downvote เพราะพวกเขาพยายามที่จะหลีกเลี่ยงความตั้งใจของคำถามประเภทนี้ หากมีเพียงหนึ่งคำตอบสำหรับภาษาการเขียนโปรแกรมที่เฉพาะเจาะจงก็จะถือว่าเป็นผู้ชนะเลิศดังนั้นคุณสามารถเริ่มเป่ารหัส
ตัวอย่างไฟล์อินพุต (คั่นด้วยแท็บเดียวหากมีปัญหาเกี่ยวกับการจัดรูปแบบ):
GolfScript 34 http://short.url/answer/ags
GolfScript 42 http://short.url/answer/gsq
C# 210 http://short.url/answer/cs2
Java 208 http://short.url/answer/jav
C# 208 http://short.url/answer/poi
J 23 http://short.url/answer/jsh
Ruby 67 http://short.url/answer/rub
C# 208 http://short.url/answer/yac
GolfScript 210 http://short.url/answer/210
ผลลัพธ์ที่คาดหวัง (คำสั่งไม่สำคัญ):
C# 208 http://short.url/answer/poi
C# 208 http://short.url/answer/yac
Java 208 http://short.url/answer/jav
ปรับปรุง
บางโปรแกรมใช้ความจริงที่ว่ามีค่าสูงสุดเพียงครั้งเดียว (เช่นโปรแกรมตัวอักษร C # 210) จากความเป็นจริงบางคนสามารถเขียนโปรแกรม GolfScript ที่มีความยาว 210 อักขระ ผลลัพธ์จะยังคงเหมือนเดิม ฉันได้เพิ่ม GolfScript เข้าไปในอินพุท
อัปเดต 2
ตามที่แนะนำฉันได้ retagged (ยังคงรหัสกอล์ฟด้วย) และกำหนดเวลาคือ2014-03-06 (ซึ่งดูเหมือนว่าจะเป็นวันที่โดยพลการ แต่ฉันจะกลับไปที่เยอรมนีจากการเดินทางแล้ว)
ผลสุดท้าย
ฉันตัดสินใจลงคะแนนดังนี้:
- คำตอบที่ไม่สามารถยืนยันจำนวนอักขระได้รับความคิดเห็นเพื่ออธิบายการนับ
- คำตอบที่สามารถลดได้อย่างง่ายดายจะได้รับความคิดเห็นข้อเสนอแนะการแก้ไขและไปสู่ผลลัพธ์ที่มีค่านับต่ำกว่า (หวังว่าฉันจะได้เห็นล่วงหน้า)
- คำตอบที่ไม่ได้รับการรวบรวมรวบรวม downvote (ค่อนข้างเป็นงานที่ยากพอสมควร)
- คำตอบที่ไม่ได้เล่นกอล์ฟจะได้รับการลงคะแนน (ตามที่อธิบายไว้ในกฎแล้ว)
- คำตอบที่สร้างผลลัพธ์ที่คาดหวังได้รับ upvote เนื่องจากคำตอบบางข้อที่ใช้งานไม่ได้ตามที่คาดไว้ฉันจึงใช้ไฟล์อินพุตที่แตกต่างกัน 4 ไฟล์และตรวจสอบกับผลลัพธ์ที่ต้องการ
สุดท้ายผู้ชนะจะถูกกำหนดโดยการให้ตารางคำตอบที่มีคุณสมบัติเหมาะสมเป็นข้อมูลป้อนเข้าสู่โปรแกรมอ้างอิงของฉัน (รวมทั้งตรวจสอบผลลัพธ์ด้วยตนเองอีกครั้ง) หากคำตอบของฉันจะเป็นคำตอบที่ชนะฉันจะแยกมันออกจากรายการ ในกรณีที่มีผู้ชนะหลายคนฉันจะต้องเลือกเพียงคนเดียว ดังนั้นสามารถรับโบนัสบางส่วนได้:
- คำตอบที่ยอมรับอินพุตมากกว่าที่คาดไว้ (เช่นอยู่นอกช่วงที่กำหนด)
- คำตอบที่ใช้ความคิดที่ฉลาดทำให้สั้น
ฉันได้รวบรวมคำตอบในวันที่ 6 มีนาคม 2014, 19:45 UTC + 1 การวิเคราะห์อย่างต่อเนื่อง การตรวจสอบคำตอบทั้งหมดนั้นยากกว่าที่คาดไว้ ...