ในทฤษฎีกราฟแคคตัสเป็นกราฟที่เชื่อมต่อกันซึ่งมีวัฏจักรอย่างง่าย ๆ สองอันที่แตกต่างกันในกราฟส่วนแบ่งที่จุดสุดยอดเดียว
นี่คือกระบองเพชรที่มี 3 รอบง่าย ๆ ที่มีเส้นประ
กราฟต่อไปนี้คล้ายกับภาพด้านบน แต่ไม่ใช่แคคตัสเพราะจุดยอดสองจุดที่มีสีแดงถูกแชร์โดยรอบง่ายๆสองรอบ
สิ่งต่าง ๆ อาจมีเล่ห์เหลี่ยมเล็กน้อยตัวอย่างเช่นกราฟต่อไปนี้:
อาจดูเหมือนแคคตัส แต่ไม่ใช่ สามารถแสดงได้โดยเน้นรอบต่อไปนี้:
รอบนี้ใช้ร่วมกันมากกว่าหนึ่งจุดที่มีจำนวนรอบที่ชัดเจนมากขึ้นในกราฟ
คำนิยาม
กราฟที่เชื่อมต่อกันเป็นกราฟที่มีเส้นทางอย่างน้อยหนึ่งเส้นทางระหว่างจุดยอดสองจุดใด ๆ
วัฏจักรอย่างง่ายคือเส้นทางบนกราฟที่เริ่มต้นและสิ้นสุดที่จุดสุดยอดเดียวกันและไม่เยี่ยมจุดสุดยอดมากกว่าหนึ่งครั้ง
กราฟที่เรียบง่ายคือกราฟที่ไม่มีทิศทางและไม่มีน้ำหนักซึ่งไม่มีจุดเชื่อมต่อซึ่งกันและกันโดยมีมากกว่าหนึ่งขอบและไม่มีจุดเชื่อมต่อกับตัวเอง กราฟง่าย ๆ เป็นกราฟพื้นฐานที่สุดและเป็นสิ่งที่คนส่วนใหญ่มีความหมายเมื่อพูดถึงกราฟ
งาน
ใช้กราฟอย่างง่ายเป็นอินพุตและตัดสินใจว่าเป็นกราฟ Cactus หรือไม่ คุณควรส่งออกสองค่าที่แตกต่างหนึ่งสำหรับจริงและหนึ่งสำหรับเท็จ คุณสามารถป้อนข้อมูลในรูปแบบที่คุณเห็นว่าเหมาะสม
นี่คือโค้ดกอล์ฟดังนั้นคุณควรตั้งเป้าหมายที่จะลดจำนวนคำตอบลง
e
มีองค์ประกอบเดียวและv
มี 2 และv
เท่ากับองค์ประกอบแรกของe
หรือไม่ 2) หรือv
เท่ากับชุดสหภาพขององค์ประกอบแรกของแต่ละองค์ประกอบในe
หรือไม่ กรณีทดสอบที่สองผ่านการตรวจสอบครั้งแรก ( v=[1,2]=e[0]=[1,2]
) และการทดสอบกรณีอื่น ๆ ที่ควรจะตรงกับความจริงที่สองเช่นกรณี # v=[1,2,3,4,5,6]=[e[0][0],e[1][0],e[2][0],e[4][0]]=[1,2,3,4,5,6]
4:
console.log(f([1,2,3,4,5,6,7,8,9,10,11,12,13])([[1,2],[1,3],[3,4],[2,4],[3,5],[5,6],[6,7],[7,8],[8,5],[7,9],[9,10],[10,11],[11,7],[8,12],[8,13]]))
true
หรือfalse
?