10
เลิกทำกราฟ
บทนำ ในความท้าทายนี้คุณจะได้รับกราฟกำกับด้วยการวนรอบตัวเองและงานของคุณคือการแปลงให้เป็นกราฟที่ไม่ได้เปลี่ยนทิศทางโดยไม่มีการวนรอบเอง อินพุต การป้อนข้อมูลของคุณเป็นกราฟกำกับโดยมีการตั้งค่าจุดยอด{0, 1, ..., n-1}สำหรับจำนวนธรรมชาติn ≥ 0(หรือ{1, 2, ..., n}ถ้าคุณใช้การจัดทำดัชนีแบบ 1) กราฟจะได้รับเป็น length- nรายการLที่เป็นรายการของออกจากเพื่อนบ้านของจุดสุดยอดL[i] iตัวอย่างเช่นรายการ[[0,1],[0],[1,0,3],[]]แสดงกราฟ .-. | v '-0<--2-->3 ^ | | | v | 1<--' โปรดทราบว่ารายชื่อเพื่อนบ้านไม่จำเป็นต้องสั่งซื้อ แต่รับประกันว่าจะไม่ซ้ำซ้อน เอาท์พุต เอาต์พุตของคุณเป็นกราฟอื่นในรูปแบบเดียวกับอินพุตที่ได้จากกราฟดังต่อไปนี้ ลบการวนซ้ำทั้งหมด สำหรับแต่ละขอบที่เหลือu -> vให้เพิ่มขอบที่กลับด้านv -> uถ้ายังไม่มีอยู่ เช่นเดียวกับอินพุตรายการเพื่อนบ้านของกราฟผลลัพธ์อาจไม่ได้เรียงลำดับ แต่พวกเขาไม่สามารถมีรายการซ้ำได้ สำหรับกราฟด้านบนเอาต์พุตที่ถูกต้องจะเป็น[[1,2],[0,2],[0,1,3],[2]]ซึ่งแทนกราฟ 0<->2<->3 ^ ^ | | v | 1<--' กฎระเบียบ …