1 条题解

  • 0
    @ 2025-4-8 23:20:54

    题意

    本题主要是要根据每年半圆面积增加的情况,判断给定坐标的土地在第几年会被侵蚀。

    题解

    解题步骤如下: 计算土地到圆心的距离:根据坐标计算土地到圆心(0,0)(0,0) 的距离,进而得到以该距离为半径的圆的面积。 确定侵蚀年份:由于每年半圆面积增加5050 平方英里,通过计算该土地所在圆的半圆面积,再除以$50&并向上取整,就能得到开始侵蚀的年份。

    公式推导

    设土地坐标为(x,y)(x,y),根据勾股定理,土地到圆心 (0,0)(0,0)的距离r=x2+y2r= x^2 + y^2。以rr为半径的圆的面积S=πr2S=πr ^2,那么半圆面积Shalf=1/2πr2S half= 1/2πr ^2。开始侵蚀的年份Z=Shalf/50Z=⌈ S half/50⌉,其中⌈⌉表示向上取整。

    代码

    cpp #include #include using namespace std;

    const double PI = 3.14159265358979323846;

    int main() { int N; cin >> N;

    for (int i = 1; i <= N; ++i) {
        double x, y;
        cin >> x >> y;
        // 计算土地到圆心的距离
        double r = sqrt(x * x + y * y);
        // 计算半圆面积
        double halfCircleArea = 0.5 * PI * r * r;
        // 计算开始侵蚀的年份
        int year = ceil(halfCircleArea / 50);
        cout << "Property " << i << ": This property will begin eroding in year " << year << "." << endl;
    }
    cout << "END OF OUTPUT." << endl;
    
    return 0;
    

    }

    • 1

    信息

    ID
    6
    时间
    1000ms
    内存
    10MiB
    难度
    10
    标签
    递交数
    4
    已通过
    0
    上传者