hdoj 1859 最小长方形
2015-06-02 23:37
295 查看
最小长方形
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8339 Accepted Submission(s):
4476
[align=left]Problem Description[/align]
给定一系列2维平面点的坐标(x,
y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在内。长方形框的边分别平行于x和y坐标轴,点落在边上也算是被框在内。
[align=left]Input[/align]
测试输入包含若干测试用例,每个测试用例由一系列坐标组成,每对坐标占一行,其中|x|和|y|小于 231;一对0
坐标标志着一个测试用例的结束。注意(0, 0)不作为任何一个测试用例里面的点。一个没有点的测试用例标志着整个输入的结束。
[align=left]Output[/align]
对每个测试用例,在1行内输出2对整数,其间用一个空格隔开。第1对整数是长方形框左下角的坐标,第2对整数是长方形框右上角的坐标。
[align=left]Sample Input[/align]
12 56
23 56
13 10
0 0
12 34
0 0
0 0
[align=left]Sample Output[/align]
12 10 23 56
12 34 12 34
#include<stdio.h> #include<string.h> #define minn(a,b)(a<b?a:b) #define maxm(c,d)(c>d?c:d) int main() { int n,m,j,i,sum,maxx,maxy,minx,miny,x,y; while(1) { sum=0; minx=250;miny=250;maxx=-250;maxy=-250;//注意对maxx和maxy初值的赋值要大于体中要求的231 while(scanf("%d %d",&x,&y)!=EOF) { sum++; if(sum==1) { if(x==0&&y==0) return 0; } if(sum>1) { if(x==0&&y==0) break; } if(minx>x) minx=x; if(maxx<x) maxx=x; if(miny>y) miny=y; if(maxy<y) maxy=y; } printf("%d %d %d %d\n",minx,miny,maxx,maxy); } return 0; }
相关文章推荐
- 【吾日三省吾身】2015.6.02-涅槃行动第十五天
- dhcp
- HTML5学习笔记3 内联SVG
- jQuery 遍历过滤
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- mysql 临时表和内存表
- linux awk命令详解
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- PHP实现的一个简单的数据库操作类
- U_boot 的 bootcmd 和bootargs参数详解
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- Python学习(六) Python数据类型:字典(重要)
- webview与js交互
- webview与js交互
- 【HDU-5246】超级赛亚ACMer(贪心)
- html5 EvnetSource 与 JSP页面结合使用
- 《Spring2之站立会议6》
- 黑马程序员-关于数组和集合的反射
- 解决 命名空间中不存在类型或命名空间名称“App_Code”(是否缺少程序集引用?)的问题
- 非线性数据结构——图