zoukankan      html  css  js  c++  java
  • 1020.最小长方形

    题目描述:
        给定一系列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<algorithm>  //用两个while来保证在读到两对0,0的时候跳出来 
    using namespace std;
    
    struct point{
        int x;
        int y;
    };
    
    point a[100];
    
    bool com1(point n,point m){
        return n.x<m.x;
    }
    
    bool com2(point n,point m){
        return n.y<m.y;
    }
    
    int main(){
        int i=0;
        while(cin>>a[i].x>>a[i].y && a[i].x!=0 && a[i].y!=0){
            i++;
            while(cin>>a[i].x>>a[i].y){
                if(a[i].x==0 && a[i].y==0) break;
                i++;
            }
            sort(a,a+i,com1);
            point n,m;
            n.x=a[0].x;
            m.x=a[i-1].x;
            sort(a,a+i,com2);
            n.y=a[0].y;
            m.y=a[i-1].y;
            cout<<n.x<<" "<<n.y<<" "<<m.x<<" "<<m.y<<endl;
            i=0;
        }
        return 0;
    }
  • 相关阅读:
    数据库创建索引后如何查看是否生效
    两种动态代理的区别
    zuul请求过滤
    intellij idea 中 Job Debug特别缓慢问题
    vue路由注册及创建
    vue.config.js配置文件
    TypeScript配置文件
    如何发布自己的npm安装包
    npm常见命令
    通过foreach的方式批量插入
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9736643.html
Copyright © 2011-2022 走看看