同一个用例,两次测试结果不一样!!跪求解释!!!

zhou0818 zhou0818 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最小长方形


Problem Description
给定一系列2维平面点的坐标(x, y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在内。长方形框的边分别平行于x和y坐标轴,点落在边上也算是被框在内。


Input
测试输入包含若干测试用例,每个测试用例由一系列坐标组成,每对坐标占一行,其中|x|和|y|小于 231;一对0 坐标标志着一个测试用例的结束。注意(0, 0)不作为任何一个测试用例里面的点。一个没有点的测试用例标志着整个输入的结束。


Output
对每个测试用例,在1行内输出2对整数,其间用一个空格隔开。第1对整数是长方形框左下角的坐标,第2对整数是长方形框右上角的坐标。


Sample Input
12 56
23 56
13 10
0 0
12 34
0 0
0 0


Sample Output
12 10 23 56
12 34 12 34
——————————————————————————————————————
代码如下:
#include <stdio.h>
int main()
{
int a,b,m1,m2,n1,n2;

scanf("%d%d",&a,&b);

while(scanf("%d%d",&a,&b)!=EOF)
{
m1=231;
n1=231;
m2=-231;
n2=-231;

while(a&&b)
{
if(a<m1)
m1=a;
if(b<n1)
n1=b;
if(a>m2)
m2=a;
if(b>n2)
n2=b;

scanf("%d%d",&a,&b);
}
printf("%d %d %d %d\n",m1,n1,m2,n2);
}

return 0;
}



第一个输入用例第一次输进去output不对,变成 13 10 23 56而不是12 10 23 56 之后重复输入这个用例测试又正常了 跪求解释!!!!!!!!
...全文
评论 17
收藏 已收藏
分享
返回顶部
zhou0818
VC/MFC 16,550 成员 421,606 内容