九度1020






题目1020:最小长方形

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:5116

解决:2444

题目描述:
    给定一系列2维平面点的坐标(x, y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在内。长方形框的边分别平行于x和y坐标轴,点落在边上也算是被框在内。
输入:

    测试输入包含若干测试用例,每个测试用例由一系列坐标组成,每对坐标占一行,其中|x|和|y|小于 231;一对0 坐标标志着一个测试用例的结束。注意(0, 0)不作为任何一个测试用例里面的点。一个没有点的测试用例标志着整个输入的结束。

输出:

    对每个测试用例,在1行内输出2对整数,其间用一个空格隔开。第1对整数是长方形框左下角的坐标,第2对整数是长方形框右上角的坐标。

样例输入:
12 56
23 56
13 10
0 0
12 34
0 0
0 0
样例输出:
12 10 23 56
12 34 12 34








#include<iostream>
#include<cstdio>
using  namespace std;

int main()
{
    int minX , minY, maxX, maxY;
    int p, q;  //输入两个坐标
    scanf("%d %d", &p, &q);
    //主要解决的是循环输入数据是怎么个情况
    while(q!=0 && p!=0)
    {//思路在草稿纸上画图可知道最下角的点是横纵坐标最小的,右上角的是最大的
        minX = maxX = p;
        minY = maxY = q;
        scanf("%d %d", &p, &q);
        while(q&&p)
        {
            minX = minX < p? minX:p;
            minY = minY < q? minY:q;
            maxX = maxX > p? maxX:p;
            maxY = maxY > q? maxY:q;
            scanf("%d %d", &p, &q);
        }
        cout<<minX<<" "<<minY<<" "<<maxX<<" "<<maxY<<endl;
        scanf("%d %d", &p, &q);
    }
    return 0;
}


wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.89元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值