ความท้าทาย
โปรแกรมของคุณควรมี 3 อินพุต:
- จำนวนเต็มบวกซึ่งเป็นจำนวนตัวแปร
- ชุดของคู่ที่ไม่เรียงลำดับของจำนวนเต็มที่ไม่ใช่ค่าลบซึ่งแต่ละคู่แสดงถึงความเท่าเทียมกันระหว่างตัวแปรและ
- จำนวนเต็มบวกซึ่งแสดงถึงตัวแปรเริ่มต้น
มันควรจะส่งคืนชุดของจำนวนเต็มที่ไม่ใช่ค่าลบซึ่งเป็นตัวแทนของตัวแปรทั้งหมดซึ่งสามารถแสดงให้เห็นว่าเป็นแบบเปลี่ยนผ่านได้เท่ากับตัวแปรเริ่มต้น (รวมถึงตัวแปรเริ่มต้นเอง)
ในคำอื่น ๆ ปัจจัยการผลิตที่กำหนดN
, E
และS
กลับชุดQ
ดังกล่าวว่า:
S ∈ Q
.- ถ้า
Z ∈ Q
และแล้ว(Y = Z) ∈ E
Y ∈ Q
- ถ้า
Z ∈ Q
และแล้ว(Z = Y) ∈ E
Y ∈ Q
สิ่งนี้สามารถแสดงเป็นปัญหากราฟทฤษฎี :
รับกราฟไม่มีทิศทางและจุดสุดยอดในกราฟรายชื่อจุดในขององค์ประกอบที่เกี่ยวโยงกัน
ข้อมูลจำเพาะ
- คุณสามารถเลือกที่จะใช้การจัดทำดัชนีแบบอิง 0 หรือ 1
- อินพุตแรกนับจำนวนตัวแปรที่มีอยู่โดยที่ตัวแปรถูกกำหนดเป็นตัวเลข อีกทางหนึ่งคุณไม่สามารถรับอินพุตนี้ซึ่งในกรณีนี้จะถือว่าเท่ากับดัชนีตัวแปรสูงสุดที่มีอยู่หรือมากกว่าหนึ่งนี้ขึ้นอยู่กับรูปแบบการจัดทำดัชนีของคุณ
- คุณสามารถสันนิษฐานได้ว่าอินพุตมีรูปแบบที่ดี: คุณจะไม่ได้รับตัวแปรนอกช่วงที่ระบุโดยอินพุตแรก ตัวอย่างเช่น
3, [1 = 2, 2 = 0], 1
เป็นอินพุตที่ถูกต้องขณะที่4, [1 = 719, 1 = 2, 3 = 2], -3
ไม่ใช่ - คุณไม่สามารถสันนิษฐานได้ว่าตัวแปรใด ๆ จะมีความเท่าเทียมกันที่เกี่ยวข้อง หากได้รับอินพุตที่สามที่เป็น "เหงา" (ไม่มีความเสมอภาค) เอาต์พุตที่ถูกต้องคือชุดซิงเกิลตันที่มีเฉพาะอินพุตนั้น (เนื่องจากเท่ากับตัวเอง)
- คุณสามารถสันนิษฐานได้ว่าความเท่าเทียมกันจะไม่มีความเท่าเทียมกันจากตัวแปรหนึ่งไปสู่ตัวมันเองและความเท่าเทียมกันจะไม่ได้รับหลาย ๆ ครั้ง (รวมถึงสิ่งต่าง ๆ เช่น
1 = 2
และ2 = 1
) - คุณสามารถสันนิษฐานได้ว่าจำนวนเต็มทั้งหมดที่ให้จะอยู่ในช่วงที่ภาษาของคุณเป็นตัวแทนได้
- คุณสามารถรับอินพุตที่สองในรูปแบบที่สมเหตุสมผล
นี่คือรูปแบบที่เหมาะสมบางประการ:
0 = 2
0 = 3
1 = 0
{(0, 2), (0, 3), (1, 0)}
[0, 2, 0, 3, 1, 0]
0 2 0 3 1 0
Graph[{{0, 2}, {0, 3}, {1, 0}}]
[0 = 2, 0 = 3, 1 = 0]
- คุณสามารถส่งออกในรูปแบบที่เหมาะสม (เช่นชุดรายการ ฯลฯ ) คำสั่งซื้อไม่เกี่ยวข้อง
เกณฑ์การให้คะแนน
นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่ถูกต้องสั้นที่สุด (เป็นไบต์) ชนะ
กรณีทดสอบ (ดัชนี 0)
3, [1 = 2, 2 = 0], 1 -> {0, 1, 2}
5, [0 = 2, 0 = 3, 1 = 2], 3 -> {0, 1, 2, 3}
6, [0 = 3, 1 = 3, 2 = 4, 5 = 1], 4 -> {2, 4}
6, [0 = 3, 1 = 3, 2 = 4, 5 = 1], 5 -> {0, 1, 3, 5}
5, [0 = 1, 2 = 0, 0 = 3, 4 = 0], 2 -> {0, 1, 2, 3, 4}
6, [0 = 1, 1 = 2, 2 = 3, 3 = 4, 4 = 5], 3 -> {0, 1, 2, 3, 4, 5}
4, [0 = 1, 1 = 2, 2 = 0], 3 -> {3}
5, [0 = 2, 2 = 4], 2 -> {0, 2, 4}
8, [], 7 -> {7}
กรณีทดสอบ (ทำดัชนี 1 รายการ)
3, [2 = 3, 3 = 1], 2 -> {1, 2, 3}
5, [1 = 3, 1 = 4, 2 = 3], 4 -> {1, 2, 3, 4}
6, [1 = 4, 2 = 4, 3 = 5, 6 = 2], 5 -> {3, 5}
6, [1 = 4, 2 = 4, 3 = 5, 6 = 2], 6 -> {1, 2, 4, 6}
5, [1 = 2, 3 = 1, 1 = 4, 5 = 1], 3 -> {1, 2, 3, 4, 5}
6, [1 = 2, 2 = 3, 3 = 4, 4 = 5, 5 = 6], 4 -> {1, 2, 3, 4, 5, 6}
4, [1 = 2, 2 = 3, 3 = 1], 4 -> {4}
5, [1 = 3, 3 = 5], 3 -> {1, 3, 5}
8, [], 8 -> {8}