如果你是用DFS的話,考慮當下游廠商已經不OK時,再遞迴下去也是浪費時間(因為不會改變答案),因此我們可以在遞迴到有問題的廠商時就立刻返回,這種避免展開不必要樹狀圖的技巧,我們稱為剪枝。
舉例來說
void dfs(int p){
//if(notok[p]) return; 沒有加這行的話第二組測資會runtime error
notok[p]=true;
for(auto u:child[p]){
dfs(u);
}
return;