题解:P9024 [CCC 2021 S1] Crazy Fencing

· · 题解

解题思路

每块木板都是一个直角梯形,用梯形面积公式计算面积:

S=\frac{h(a+b)}{2}

所有 n 块木板的面积之和即为栅栏的总面积。

参考代码

#include <bits/stdc++.h>
using namespace std;

const int N=10005;
int a[N];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin>>n;
    for(int i=1;i<=n+1;i++)cin>>a[i];
    double ans=0;
    for(int i=1;i<=n;i++)
    {
        int h;
        cin>>h;
        ans+=(a[i]+a[i+1])*h*0.5;
    }
    cout<<fixed<<setprecision(1)<<ans<<'\n';
    return 0;
}