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;
    }
  • 相关阅读:
    cf1043C. Smallest Word(贪心)
    洛谷P1081 开车旅行(倍增)
    NOI.AC NOIP2018 全国热身赛 第四场
    cf444E. DZY Loves Planting(并查集)
    NOI.AC NOIP模拟赛R3解题报告
    中国第一计算机编程高手横瓜的天才求职之路异常艰辛,天妒奇才呀
    C语言全局未初始化数据段分析
    js问题总结
    ios7新增基础类库以及OC新特性
    jquery.post用法
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9736643.html
Copyright © 2011-2022 走看看