1 条题解

  • 0
    @ 2025-8-24 22:44:41

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar lichenzhen
    这个人已经AFO了

    搬运于2025-08-24 22:44:41,当前版本为作者最后更新于2023-02-05 12:40:00,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目大意

    一个由 NN 块木板组成的栅栏,并且相邻的两块木板的左边界和右边界是相同的,给出每块木板边界的长度和每块木板的宽度。求栅栏的总面积。

    题目解法

    我们观察样例解释可以发现,每一块木板都是一个梯形,木板的左边界就是梯形的上底,右边界就是下底。而且我们发现木板一定与地面垂直,所以木板都是直角梯形,这样我们就可以发现梯形是高就是木板的宽度。因此我们根据梯形面积公式求出每个木板的面积了,而栅栏的面积就是所有木板面积的和。

    最后要注意输出的时候要记得保留 11 位小数。

    注:梯形的面积 S=(a+b)×h÷2S=(a+b) \times h \div 2aa 是上底,bb 是下底,hh 是高)

    参考代码

    #include<iostream>
    using namespace std;
    int a[10010],b[10010],n;
    double sum;
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n+1;i++) scanf("%d",&a[i]);
        for(int i=1;i<=n;i++) scanf("%d",&b[i]); 
        for(int i=1;i<=n;i++) sum+=(double)(a[i]+a[i+1])*b[i]/2;
        printf("%.1lf",sum);
    }
    
    • 1

    信息

    ID
    8169
    时间
    500ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者