toi

TOI12 weakpoint - กำจัดจุดอ่อน

🏠 รวมเฉลย TOI12

💎 problem.pdf

🎉 solution_topo.cpp

🎉 solution.cpp

Solution

สามารถ DFS ทีเดียวจากจุดเริ่มแล้ว นับจำนวนที่ตัดได้เลยก็ได้

ในที่นี้ผมใช้เทคนิคแบบ Kahn’s algorithm for Topological Sorting คือการนับ degree ของเส้นเชื่อม โดยอนุมานได้เลยว่า จุดไหนมีเส้นเชื่อม == 1 จะต้องเป็น leaf แน่นอน แล้วก็วนทำไปเรื่อยๆในการกำจัด leaf พร้อมกับได้ขนาดของต้นไม้มาด้วยเลย ทำให้โคดสั้นลงไปอีก