【题解】A23328.四边形的面积计算

题目链接:四边形的面积计算

作为本次挑战赛的第一道题,难度其实不大。(我相信很多人跟我一样不太喜欢数学,一看到数学的题目就头疼)不过这道题还是非常简单的,值得一试。

解题思路

根据瞪眼法,题目中所绘制出来的图形是一个梯形(梯形是只有一组对边平行的四边形,显然图中线段 \(\overline{AB} \parallel \overline{GF}\)。因此根据梯形的面积计算公式就可以得到本问题的解。

众所周知,梯形的面积公式为 \(S_{\text{area}} = \frac{(上底 + 下底) \times 高}{2}\)。我们的问题就化简为了求解这几个未知变量。每一个变量的数值对应如下:

  1. 上底:如题目图中所示,这个梯形的上底长度就是线段 \(\overline{AB}\) 的长度。
  2. 下底:如题目图中所示,这个梯形的下底长度就是线段 \(\overline{FG}\) 的长度。
  3. 梯形的高:通过观察,很容易发现梯形的高就是两个正方形的边长之差,也就是 \(\lvert n - m\rvert\)

最后将所有的量都代入梯形的面积公式即可得到:\(S_{\text{area}} = \frac{(n + m) \times \lvert n - m\rvert}{2}\)

正确代码

注意点:因为涉及到小数计算,因此在写代码的时候要关注一下数据类型。

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;

int t;

void solve(){
    int n, m;
    cin >> n >> m;
    double ans = 1.0 * (n + m) * abs(m - n) * 0.5;
    printf("%.10lf\n", ans);
    return ;
}

int main(){
    cin >> t; 
    while(t--) solve();
    return 0;
}
posted @ 2024-06-11 00:21  Macw  阅读(10)  评论(0编辑  收藏  举报