ในฐานะแฟนของทีมฟุตบอลBE ที่ประสบความสำเร็จมากที่สุดในช่วงท้ายฤดูกาลฉันมักจะสงสัยว่าทีมโปรดของฉันยังมีโอกาสทางทฤษฎีที่เหลือจากการเป็นแชมป์ งานของคุณในการท้าทายนี้คือการตอบคำถามนั้นให้ฉัน
อินพุต
คุณจะได้รับสามอินพุต: ตารางปัจจุบันรายการการแข่งขันที่เหลือและตำแหน่งปัจจุบันของทีมที่เราสนใจ
การป้อนข้อมูลที่ 1: ตารางปัจจุบันลำดับของตัวเลขเป็นฉันจำนวน -th เป็นจุดที่ได้โดยทีมงานผมเพื่อให้ห่างไกล ตัวอย่างเช่นอินพุต
[93, 86, 78, 76, 75]เข้ารหัสตารางต่อไปนี้ (เฉพาะคอลัมน์สุดท้ายเท่านั้นที่มีความสำคัญ):
อินพุต 2 : ผู้ที่เหลือการแข่งขันลำดับ tuples ที่แต่ละ tuple (เป็นฉัน , J ) ย่อมาจากการแข่งขันที่เหลืออยู่ระหว่างทีมงานของผมและเจ ในตัวอย่างข้างต้นอินพุตที่สองของ[(1,2), (4,3), (2,3), (3,2), (1,2)]จะหมายความว่าการจับคู่ที่เหลืออยู่คือ:
Chelsea vs Tottenham, Liverpool vs Man. City, Tottenham vs Man. City, Man. City vs Tottenham, Chelsea vs Tottenham
อินพุต 3: ตำแหน่งปัจจุบัน . ของทีมเรามีความสนใจในตัวอย่างเช่นใส่ของ2สำหรับตัวอย่างข้างต้นจะหมายความว่าเราต้องการที่จะทราบว่าท็อตแนมยังสามารถกลายเป็นแชมป์
เอาท์พุต
สำหรับการจับคู่แต่ละรูปแบบที่เหลืออยู่ ( i , j ) มีสามผลลัพธ์ที่เป็นไปได้:
- ทีมiชนะ: ทีมiได้3 คะแนนทีมjได้0 คะแนน
- ทีมjชนะ: ทีมiได้รับ0 คะแนนทีมjได้3 คะแนน
- เสมอ: ทีมiและjทั้งคู่ได้1 คะแนน
คุณต้องส่งออกค่าความจริงหากมีผลบางอย่างสำหรับเกมที่เหลือทั้งหมดเช่นว่าในตอนท้ายไม่มีทีมอื่น ๆ ที่มีคะแนนมากกว่าทีมที่ระบุไว้ในการป้อนข้อมูลที่ 3 มิฉะนั้นส่งออกค่าเท็จ
ตัวอย่าง : พิจารณาอินพุตที่เป็นแบบอย่างจากส่วนด้านบน:
อินพุต 1 = [93, 86, 78, 76, 75], อินพุต 2 = [(1,2), (4,3), (2,3), (3,2), (1,2)], อินพุต 3 =2
หากทีม2ชนะการแข่งขันที่เหลือทั้งหมด (เช่น(1,2), (2,3), (3,2), (1,2)) มันจะได้รับ 4 * 3 = 12 คะแนนเพิ่มเติม; ไม่มีทีมใดได้คะแนนจากการแข่งขันเหล่านี้เลย สมมติว่าการแข่งขันอื่นที่เหลืออยู่ (เช่น(4,3)) คือการเสมอกัน จากนั้นคะแนนสุดท้ายจะเป็น:
Team 1: 93, Team 2: 86 + 12 = 98, Team 3: 78 + 1 = 79, Team 4: 76 + 1 = 77, Team 5: 75
ซึ่งหมายความว่าเราได้พบผลลัพธ์บางอย่างสำหรับการแข่งขันที่เหลืออยู่แล้วซึ่งไม่มีทีมอื่นที่มีคะแนนมากกว่าทีม2ดังนั้นผลลัพธ์สำหรับข้อมูลนี้จะต้องเป็นจริง
รายละเอียด
- คุณอาจสมมติว่าอินพุตแรกเป็นลำดับที่จัดลำดับเช่นสำหรับi < jรายการi -th จะเท่ากับหรือมากกว่ารายการj -th อินพุตแรกอาจถูกใช้เป็นรายการสตริงหรือสิ่งที่คล้ายกัน
- คุณอาจรับอินพุตที่สองเป็นสตริงรายการของ tuples หรือสิ่งที่คล้ายกัน หรือคุณอาจใช้มันเป็นอาร์เรย์สองมิติ
aซึ่งa[i][j]เป็นจำนวนรายการของแบบฟอร์ม(i,j)ในรายการการแข่งขันที่เหลือ ยกตัวอย่างเช่นสอดคล้องกับa[1][2] = 2, a[2][3] = 1, a[3][2] = 1, a[4][3] = 1[(1,2), (4,3), (2,3), (3,2), (1,2)] - สำหรับอินพุตที่สองและสามคุณอาจใช้การจัดทำดัชนี 0 แทนการจัดทำดัชนี 1
- คุณสามารถรับอินพุตทั้งสามในลำดับใดก็ได้
โปรดระบุรูปแบบการป้อนข้อมูลที่แน่นอนที่คุณเลือกในคำตอบของคุณ
โหนดด้านข้าง : ปัญหาพื้นฐานของความท้าทายนี้แสดงให้เห็นว่าเป็นปัญหาที่สมบูรณ์ใน "การกำจัดฟุตบอลยากต่อการตัดสินใจภายใต้กฎ 3 จุด " ที่น่าสนใจหากมีเพียงสองคะแนนเท่านั้นที่ได้รับชัยชนะปัญหานี้จะแก้ไขได้ในเวลาพหุนาม
กรณีทดสอบ
กรณีทดสอบทั้งหมดที่อยู่ในรูปแบบInput1, ,Input2Input3
Truthy:
[93, 86, 78, 76, 75],[(1,2), (4,3), (2,3), (3,2), (1,2)],2[50],[],1[10, 10, 10],[],3[15, 10, 8],[(2,3), (1,3), (1,3), (3,1), (2,1)],2
Falsy:
[10, 9, 8],[],2[10, 9, 9],[(2,3), (3,2)],1[21, 12, 11],[(2,1), (1,2), (2,3), (1,3), (1,3), (3,1), (3,1)],2
ผู้ชนะ
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่ถูกต้องสั้นที่สุด (เป็นไบต์) ชนะ ผู้ชนะจะได้รับการคัดเลือกหนึ่งสัปดาห์หลังจากโพสต์คำตอบแรกที่ถูกต้อง
