void ZJ ( int BH) { Sign [BH] = . 1 ; for ( int I = head [BH]; I; I = A [I] .next) { int Y = A [I] .to; IF ! ( Sign [Y]) { ZJ (Y); zhijing = max (zhijing, SUM [BH] + SUM [Y] + A [I] .val); SUM [BH] = max (SUM [BH], SUM [Y] + A [I] .val); // do not order these two trans! ! ! } } }