九度 题目1020:最小长方形
来源:互联网 发布:sql 用变量作为字段名 编辑:程序博客网 时间:2024/05/16 06:13
一.题目描述:
给定一系列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
二.题目分析
本来是一道水题,却硬是做出了转狂的感觉。折腾了那么久,终于找到了出错的地方,关于九度OJ,我是彻底拜服,到现在为止,我还是不明白为什么另一种输入方式就会WA,在此把WA和AC的都贴出来,大家自己感觉吧,也希望知道原因的高手可以留言解释一下原因,不胜感激!
三.代码
1.WA
#include <stdio.h>#include <stdlib.h>int main(){ int x1,y1,x2,y2,x,y; while((scanf("%d%d",&x1,&y1))&&x1&&y1) //注意此处的输入方式与下文对比 { x2=x1;y2=y1; while((scanf("%d%d",&x,&y))&&x&&y) { if(x<x1) x1=x; if(y<y1) y1=y; if(x>x2) x2=x; if(y>y2) y2=y; } printf("%d %d %d %d\n",x1,y1,x2,y2); } return 0;}
2.AC
#include <stdio.h>#include <stdlib.h>int main(){ int x1,x2,y1,y2,x,y; while(scanf("%d%d",&x1,&y1)) //同样对比输入方式,只是改变了循环跳出的方式,就AC了,终于找到了WA的原因,但是不明白.... { if(x1==0&&y1==0) break; x2=x1;y2=y1; while(scanf("%d%d",&x,&y)) { if(x==0&&y==0) break; if(x<x1) x1=x; if(y<y1) y1=y; if(x>x2) x2=x; if(y>y2) y2=y; } printf("%d %d %d %d\n",x1,y1,x2,y2); } return 0;}
0 0
- 九度OJ 题目1020:最小长方形
- 九度OJ题目1020:最小长方形
- 九度 题目1020:最小长方形
- 九度OJ-题目1020:最小长方形
- 九度OJ-题目1020 最小长方形
- 题目1020:最小长方形 九度OJ
- 九度OJ—题目1020:最小长方形
- 题目1020题 最小长方形 九度Online Judge
- 九度1020 最小长方形
- 九度1020 最小长方形
- 九度1020 最小长方形
- 九度:1020<最小长方形>
- 九度 1020:最小长方形
- 题目1020:最小长方形
- 题目1020:最小长方形
- 题目1020:最小长方形
- 题目1020:最小长方形
- 题目1020:最小长方形
- YUV格式学习:YUV444转换RGB24
- js改变html的原有内容
- Ext通过按钮创建一个Window实例代码
- 微信公众号开发学习
- C++基础---浅层及深层拷贝构造函数
- 九度 题目1020:最小长方形
- 类似百度搜索后分页的实现
- CSS3选择器详解
- redis源码阅读[0]
- 线程锁 线程并发处理 | 异步调用委托的使用
- How many ways??(离散数学知识(集合论二元关系Warshall算法原理)+矩阵快速幂)
- 51单片机串口程序
- 手机淘宝列表页面 的js调用展示
- jQuery.ajax()方法中参数详细解析