UVa 839 -- Not so Mobile(樹的遞歸輸入)
阿新 • • 發佈:2018-02-15
include div true mage info ios idt sin mob
UVa 839 Not so Mobile(樹的遞歸輸入)
判斷一個樹狀天平是否平衡,每個測試樣例每行4個數 wl,dl,wr,dr,當wl*dl=wr*dr時,視為這個天平平衡,當wl或wr等於0是,下一行將是一個子天平,如果子天平平衡,wl為子天平的wl+wr ,否則整個天平不平衡
1 #include<iostream> 2 using namespace std; 3 bool solve(int &w) 4 { 5 int wl,dl,wr,dr; 6 cin>>wl>>dl>>wr>>dr;7 bool b1 = true,b2=true; 8 if(wl == 0) b1 = solve(wl);///進入左子天平 9 if(wr == 0) b2 = solve(wr);///進入右子天平 10 w = wl+wr; 11 return b1 && b2 &&(wl*dl == wr*dr); 12 } 13 14 int main() 15 { 16 int n; 17 cin>>n; 18 while(n--) 19 { 20 intweight; 21 bool s = solve(weight); 22 if(s) cout<<"YES"<<endl; 23 else cout<<"NO"<<endl; 24 if(n) cout<<endl; 25 } 26 return 0; 27 }
UVa 839 -- Not so Mobile(樹的遞歸輸入)