1. 程式人生 > >UVa 839 -- Not so Mobile(樹的遞歸輸入)

UVa 839 -- Not so Mobile(樹的遞歸輸入)

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 int
weight; 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(樹的遞歸輸入)