m0_74131413 2023-04-15 15:07 采纳率: 50%
浏览 47
已结题

游泳池设计,c语言问题

题目描述:
从财经大学游泳回来后,zz打算在金沙学府中心花园
建造一个长方形的游泳池。他已经设置了坐标轴,游泳池的边与坐标轴平行。当然,矩形的面积必须为正。z2
游泳池的先画在图纸上,游泳池的四条边与坐标轴平行。
Z2想到一个问题,擦掉长方形游泳池的若千个顶点
后,初始矩形的剩余n个顶点是否提供了足够的信息来
恢复游泳池的面积。
输入格式:
输入的第一行包含单个整数n (1≤n≤4)-zz没有删除的
顶点数。
以下n行中的每一行都包含两个整数xi和yi (-1000≤xiyi≤1000)-剩余的第i个顶点的坐标。顶点以任意顺序给出。
可以保证这些点是某个矩形的不同顶点,该矩形具有正面积,且其边与坐标轴平行。
输出格式:
如果初始矩形的区域可以由剩余的点唯一确定,则输出
矩形面积。否则,打印-1。

img

  • 写回答

1条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-15 15:49
    关注

    img

    
    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    
    int main() {
        int n;
        cin >> n;
        vector<int> x(n), y(n);
        for (int i = 0; i < n; i++) {
            cin >> x[i] >> y[i];
        }
    
        // 将顶点按照横坐标从小到大排序,如果横坐标相同,则按照纵坐标从小到大排序
        sort(x.begin(), x.end());
        sort(y.begin(), y.end());
    
        // 确定长方形的左下角和右上角坐标
        int x1 = x[0], y1 = y[0], x2 = x[n - 1], y2 = y[n - 1];
    
        // 计算长方形面积
        int area = (x2 - x1) * (y2 - y1);
    
        // 如果面积为正,则输出面积;否则输出 -1
        if (area > 0) {
            cout << area << endl;
        } else {
            cout << -1 << endl;
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月15日
  • 已采纳回答 4月15日
  • 赞助了问题酬金15元 4月15日
  • 创建了问题 4月15日

悬赏问题

  • ¥15 什么设备可以研究OFDM的60GHz毫米波信道模型
  • ¥15 不知道是该怎么引用多个函数片段
  • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题