leetcode365

     這道題的關鍵是隻有兩個瓶子,因此每次只能變化x或者y量的水,因此z = ax + by。而z在爲x,y的最大公約數倍數時有解。

class Solution {
public:
    bool canMeasureWater(int x, int y, int z) {
        if(x + y < z) return false;
        if(z == 0) return true;
        
        if(x == 0 || y == 0)
        {
            if(z == x || z == y) return true;
            else return false;
        }
        return z % gcd(x,y) == 0;
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章