炮臺攻擊

蘭博教訓提莫之後,然後和提莫討論起約德爾人,談起約德爾人,自然少不了一個人,那 就是黑默丁格——約德爾人歷史上最偉大的科學家. 提莫說,黑默丁格最近在思考一個問題:黑默丁格有三個炮臺,炮臺能攻擊到距離它R的敵人 (兩點之間的距離爲兩點連續的距離,例如(3,0),(0,4)之間的距離是5),如果一個炮臺能攻擊 到敵人,那麼就會對敵人造成1×的傷害.黑默丁格將三個炮臺放在N*M方格中的點上,並且給出敵人 的座標. 問:那麼敵人受到傷害會是多大?

輸入描述:
第一行9個整數,R,x1,y1,x2,y2,x3,y3,x0,y0.R代表炮臺攻擊的最大距離,(x1,y1),(x2,y2),
(x3,y3)代表三個炮臺的座標.(x0,y0)代表敵人的座標.

輸出描述:
輸出一行,這一行代表敵人承受的最大傷害,(如果每個炮臺都不能攻擊到敵人,輸出0×)

輸入例子:
1 1 1 2 2 3 3 1 2

輸出例子:
2x

#include <vector>  
#include <iostream>  
#include <algorithm>
#include <cmath>  

using namespace::std;  

int main() {  
    double r, x1, y1, x2, y2, x3, y3, x0, y0;  

    while (cin >> r >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x0 >> y0) {  
        double length1 = sqrt(pow(x1 - x0, 2.0) + pow(y1 - y0, 2.0));  
        double length2 = sqrt(pow(x2 - x0, 2.0) + pow(y2 - y0, 2.0));  
        double length3 = sqrt(pow(x3 - x0, 2.0) + pow(y3 - y0, 2.0));  

        int result = 0;  
        if (length1 < r) ++result;  
        if (length2 < r) ++result;  
        if (length3 < r) ++result;  

        cout << result << "x" << endl;  
    }  

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