ใน กราฟทฤษฎีรหัสPrüferเป็นลำดับที่ไม่ซ้ำกันของจำนวนเต็มว่าหมายถึงต้นไม้ที่เฉพาะเจาะจง
คุณสามารถค้นหารหัสPrüferของต้นไม้ด้วยอัลกอริทึมต่อไปนี้นำมาจาก Wikipedia:
พิจารณา T
{1, 2, ..., n}
ต้นไม้ที่มีป้ายกำกับจุด ที่ขั้นตอนที่1ให้นำใบไม้ที่มีฉลากขนาดเล็กที่สุดออกแล้วตั้งค่าองค์ประกอบที่iของลำดับPrüferให้เป็นป้ายกำกับของเพื่อนบ้านของใบไม้นี้
(โปรดทราบว่าเนื่องจากเป็นใบไม้จึงมีเพียงเพื่อนบ้านเดียว)
คุณควรหยุดการทำซ้ำเมื่อเหลือเพียงสองจุดยอดในกราฟ
งาน
ให้ต้นไม้ที่มีข้อความเป็นอินพุตเอาต์พุตโค้ดPrüfer คุณสามารถป้อนข้อมูลในลักษณะที่สมเหตุสมผล เช่นเมทริกซ์ adjacency หรือภาษาของคุณแสดงกราฟในตัว ( คุณไม่สามารถรับรหัสPrüferได้ )
นี่คือ รหัสกอล์ฟ ดังนั้นคุณควรมุ่งหวังที่จะลดจำนวนไบต์ในแหล่งที่มาของคุณ
กรณีทดสอบ
นี่คืออินพุตบางส่วนใน ASCII พร้อมกับเอาต์พุตด้านล่าง คุณไม่จำเป็นต้องรองรับอินพุต ASCII เช่นนี้
3
|
1---2---4---6
|
5
{2,2,2,4}
1---4---3
|
5---2---6---7
|
8
{4,4,2,6,2,5}
5---1---4 6
| |
2---7---3
{1,1,2,7,3}
[[2,1],[2,3],[2,5],[2,4,6]]
สำหรับกรณีแรกมาได้หรือไม่? (เช่นแต่ละสาขา)