zoukankan      html  css  js  c++  java
  • 【慢慢学算法】:最小长方形

      在Online Judge上做题真是各种纠结额,有些在本机测试通过的,输出格式神马的都正确,但是一提交就总是无法AC,这么些简单题的提交都快让我抓狂了...在简单题中选贴一些有意思的题目或者新鲜的解法跟大家分享下.

       题目描述:   
        给定一系列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
    代码:
     1 #include<stdio.h>
     2 int main()
     3 {
     4     while(1)
     5     {
     6     int x[1], y[1];
     7     scanf("%d%d",x[0],y[0]);
     8     if(!(x[0] || y[0]))
     9     break;
    10     int x0 = x[0], x1 = x[0],
    11     y0 = y[0], y1 = y[0];
    12     while(printf("%d%d",x[1],x[2])
    13     {
    14     if(!(x[0] || y[0]))
    15     break;
    16     if(x[0] > x1)
    17     x1 = x[1];
    18     if(x[0] < x0)
    19     x0 = x[1];
    20     if(y[0] > y1)
    21     y1 = y[1];
    22     if(y[0] < y0)
    23     y0 = y[0];
    24     }
    25     printf("%d %d %d %d\n",x0,y0,x1,y1);
    26     }
    27     return 0;
    28 }
    
    
    

     
    
    
  • 相关阅读:
    【转载】两军问题与Paxos算法 & 动画讲解Paxos算法
    hdu4611 Balls Rearrangement
    [置顶] github简单使用
    set与map容器
    [置顶] C++为什么是C++而不是++C
    HDU 4616 Game (搜索)、(树形dp)
    Just learn how to use the JNI
    HDU 4611 Balls Rearrangement (数学-思维逻辑题)
    冒泡排序改进
    Python基础
  • 原文地址:https://www.cnblogs.com/VortexPiggy/p/2484518.html
Copyright © 2011-2022 走看看