開場舞蹈 #普及組#

題目

Problem Description

在全世界人民的期盼下,2008年北京奧林匹克運動會終于隆重召開了!

為了展示中華民族博大精深的優(yōu)秀傳統(tǒng)文化,負(fù)責(zé)開幕式開場舞蹈的編排人員一絲不茍,每一個細(xì)節(jié)都力爭完美。關(guān)于隊伍是采用“天圓”陣還是“地方”陣的問題,大家討論了七天七夜,仍沒有結(jié)果。于是,他們希望借助計算機,計算兩種陣型的成本。

隊伍將排列在一個二維平面內(nèi),且必須以(0,0)點為中心使得隊伍保持對稱美?!疤靾A”陣是一個圓形,而“地方”陣則是一個邊平行于坐標(biāo)軸的正方形。由于某種因素,陣型要求覆蓋某些點(可以在邊上)。

你的任務(wù)是,計算出能夠覆蓋這些點的兩種陣型的最小面積。

Input

第一行是一個整數(shù)n(1<=n<=100000),表示需要覆蓋的點的個數(shù)。接下來n行,第i行是兩個整數(shù)xi,yi(-1000<=xi,yi<=1000),表示第i個點的坐標(biāo)位置(xi,yi)。

Output

第一行是一個整數(shù)s1,表示能夠覆蓋這些點的“天圓”陣的最小面積(pi=3.14,四舍五入)。第二行是一個整數(shù)s2,表示能夠覆蓋這些點的“地方”陣的最小面積。

Sample Input

4

0 0

0 2

5 0

8 0

Sample Output

201

256


思路

我靠,乍一看弄得我以為要搞圖論,其實十分簡單.

首先明確一下步驟

1.輸入

2.循環(huán)求兩個陣的面積

3.輸出

好,具體實施請看下面↓

1.輸入

輸入代碼不要我說,你們都懂吧~

scanf("%d", &n);
for(int i = 1; i <= n; i++)
    scanf("%d%d", &x[i], &y[i]);

2.循環(huán)求兩個陣的面積

其實也很easy啦

求方陣邊長,就將每個給的坐標(biāo)里,不管橫縱,取最大值再*2.

再求面積.

注意,因為坐標(biāo)正負(fù)與面積無關(guān)系,所以先自身取絕對值.

求圓陣也簡單,利用勾股定理,求出半徑.

for(int i = 1; i <= n; i++)
{
    x[i] = abs(x[i]);   
    y[i] = abs(y[i]);//絕對值
    /*-------------------------------*/
    jzbc = max(x[i] * 2, max(y[i] * 2, jzbc));//判斷最大的邊長
    jzmj = jzbc * jzbc;//求面積
    /*-------------------------------*/
    ybj = max(ybj, sqrt(x[i] * x[i] + y[i] * y[i]));//求最大半徑
    ymj = pi * ybj * ybj;//面積
}

好了,細(xì)節(jié)不在強調(diào).

貼完整代碼.

#include <cstdio>
#include <cmath>
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
int x[100001], y[100001];
const double pi = 3.14; 
int jzbc, jzmj;
double ybj, ymj;
int main()
{
    scanf("%d", &n);
    for(int i = 1; i <= n; i++)
        scanf("%d%d", &x[i], &y[i]);
    for(int i = 1; i <= n; i++)
    {
        x[i] = abs(x[i]);
        y[i] = abs(y[i]);
        /*-------------------------------*/
        jzbc = max(x[i] * 2, max(y[i] * 2, jzbc));
        jzmj = jzbc * jzbc;
        /*-------------------------------*/
        ybj = max(ybj, sqrt(x[i] * x[i] + y[i] * y[i]));
        ymj = pi * ybj * ybj;
    }
    printf("%.0lf\n%d",ymj , jzmj);
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容