บทนำ
ในสาขาคณิตศาสตร์ที่รู้จักกันเป็นโครงสร้างมีสิ่งที่เรียกว่าหลักการแยก โดยสังเขปคุณมีชุดXและชุดย่อยของXซึ่งเราสามารถคิดว่าเป็นคุณสมบัติ ระบบจะถูกแยกออกจากกันอย่างดีหากสามารถแยกแยะความแตกต่างระหว่างรายการทั้งหมดของXคุณสมบัติของพวกเขา สัจพจน์ที่แยกกันทำให้ความคิดนี้เป็นทางการ ในความท้าทายนี้งานของคุณคือการตรวจสอบสัจพจน์สามแยกที่กำหนดXและรายการของคุณสมบัติ
อินพุต
อินพุตของคุณเป็นจำนวนเต็มn ≥ 2และรายการTของจำนวนเต็ม จำนวนเต็มในถูกดึงมาจากT X = [0, 1, ..., n-1]รายการในTอาจว่างเปล่าและไม่เรียงลำดับ แต่ไม่มีรายการที่ซ้ำกัน
เอาท์พุต
เอาต์พุตของคุณคือหนึ่งในสี่สายกำหนดโดยหลักการแยกสามอันแต่ละอันแข็งแกร่งกว่าอันสุดท้าย มีสัจพจน์อื่น ๆ แต่เรายึดติดกับสิ่งเหล่านี้เพื่อความเรียบง่าย
- สมมติว่าสำหรับทั้งหมดที่แตกต่าง
xและyในXมีรายการTที่มีหนึ่งในนั้น แล้วXและTตอบสนองความจริง T0 - สมมติว่าทุกที่แตกต่างกัน
xและyในการXมีอยู่สองรายการในTหนึ่งซึ่งมีxแต่ไม่ได้yและอื่น ๆ ที่มีแต่ไม่yxแล้วXและTตอบสนองความจริง T1 - สมมติว่าทั้งสองรายการด้านบนไม่มีองค์ประกอบที่เหมือนกัน แล้ว
XและTตอบสนองความจริง T2
การส่งออกของคุณเป็นหนึ่งT2, T1, T0หรือTSขึ้นอยู่กับเงื่อนไขดังกล่าวข้างต้นถือ ( TSหมายถึงไม่มีของพวกเขาทำ) โปรดทราบว่า T2 นั้นแข็งแกร่งกว่า T1 ซึ่งแข็งแกร่งกว่า T0 และคุณควรส่งออกสัจพจน์ที่แข็งแกร่งที่สุดที่เป็นไปได้เสมอ
กฎและการให้คะแนน
คุณสามารถเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต
กรณีทดสอบ
2 [] -> TS
2 [[],[1]] -> T0
2 [[0],[1]] -> T2
3 [[0],[0,1,2],[1,2]] -> TS
3 [[],[0],[0,1],[2]] -> T0
3 [[0],[0,1],[2,1],[0,1,2]] -> T0
3 [[0],[0,1],[2,1],[2,0]] -> T1
6 [[0,2,4],[0,3,5],[1,2],[3,4,5]] -> TS
6 [[0,2,4],[0,3,5],[1,2],[2,5],[3,4,5]] -> T0
6 [[0,2,4],[0,3,5],[1,2],[2,5],[3,1],[3,4,5]] -> T1
6 [[0,1],[0,2,3],[1,4],[2,4],[2,3,5],[1,3],[4,5]] -> T2
0 [] T2
nฟุ่มเฟือยหรือไม่ ในส่วนที่เหลือของความท้าทายฉันไม่ได้เห็นมันใช้นอกเหนือจากการกำหนดองค์ประกอบที่สามารถอยู่ในTนั้นดังนั้นมันเป็นเพียงทางลัดที่ให้ไว้สำหรับT.Maximum()?