จุดยอดที่แตกต่างกันสองจุดในกราฟกำกับนั้นเชื่อมต่อกันอย่างแน่นหนาหากมีเส้นทางในกราฟจากจุดหนึ่งไปยังอีกจุดหนึ่ง องค์ประกอบเชื่อมต่ออย่างยิ่งของกราฟเป็นส่วนหนึ่งของกราฟดังกล่าวว่าคู่ของจุดที่แตกต่างกันในกลุ่มย่อยในแต่ละมีการเชื่อมต่ออย่างมากและเพิ่มจุดใด ๆ ที่มากขึ้นในการย่อยจะทำลายคุณสมบัตินี้
ความท้าทายของคุณคือการแยกกราฟออกเป็นส่วนประกอบที่เชื่อมต่ออย่างแน่นหนา คุณต้องส่งออก SCC ทั้งหมดในกราฟ
I / O:
ในฐานะที่เป็นอินพุตคุณอาจใช้รายการของขอบชีทรายการ adjacency เมทริกซ์ adjacency หรือรูปแบบอินพุตที่สมเหตุสมผลอื่น ๆ ถามว่าคุณไม่แน่ใจ คุณอาจสมมติว่ากราฟไม่มีการตัดการเชื่อมต่อทั้งหมดและไม่มีขอบตัวเอง แต่คุณไม่สามารถตั้งสมมติฐานเพิ่มเติมได้ คุณยังสามารถเลือกรายการจุดยอดเป็นอินพุตเช่นเดียวกับจำนวนจุดยอด
ในฐานะที่เป็นเอาท์พุทคุณจะต้องให้การแบ่งจุดยอดเช่นรายการของจุดยอดที่แต่ละรายการย่อยเป็นองค์ประกอบที่เชื่อมต่ออย่างยิ่งหรือการติดฉลากของจุดยอดที่แต่ละป้ายสอดคล้องกับองค์ประกอบที่แตกต่างกัน
หากคุณใช้การติดฉลากฉลากจะต้องเป็นจุดยอดหรือลำดับของจำนวนเต็มติดต่อกัน นี่คือการป้องกันไม่ให้หลุดการคำนวณลงในฉลาก
ตัวอย่าง:
ตัวอย่างเหล่านี้ใช้รายการขอบที่แต่ละขอบถูกชี้นำจากรายการที่ 1 ไปยังรายการที่สองและพาร์ติชันเอาท์พุท คุณมีอิสระที่จะใช้รูปแบบนี้หรือรูปแบบอื่น
อินพุตอยู่บนบรรทัดแรกเอาต์พุตอยู่บนบรรทัดที่สอง
[[1, 2], [2, 3], [3, 1], [1, 4]]
[[1, 2, 3], [4]]
[[1, 2], [2, 3], [3, 4]]
[[1], [2], [3], [4]]
[[1, 2], [2, 1], [1, 3], [2, 4], [4, 2], [4, 3]]
[[1, 2, 4], [3]]
[[1, 2], [2, 3], [2, 5], [2, 6], [3, 4], [3, 7], [4, 3], [4, 8], [5, 1], [5, 6], [6, 7], [7, 6], [8, 7], [8, 4]]
[[1, 2, 5], [3, 4, 8], [6, 7]]
เกณฑ์การให้คะแนนและข้อ จำกัด :
ช่องโหว่มาตรฐานถูกแบนเช่นเคย นอกจากนี้บิวด์อินที่จัดการเฉพาะกับส่วนประกอบที่เชื่อมต่ออย่างยิ่งถูกห้าม
โซลูชันควรทำงานในไม่เกินหนึ่งชั่วโมงในตัวอย่างที่ให้ไว้ (สิ่งนี้มีไว้เพื่อป้องกันการแก้ปัญหาเลขชี้กำลังช้าและไม่มีอะไรอื่น)
นี่คือรหัสกอล์ฟ ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ
8
นั้นไม่ได้อยู่ในส่วนประกอบ[3,4]
เนื่องจากไม่สามารถทำได้เฉพาะ6
และ7
(ซึ่งไม่สามารถเข้าถึงได้)