求助某高中题库某题
  • 板块灌水区
  • 楼主willix
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/3/18 10:40
  • 上次更新2023/10/23 21:18:13
查看原帖
求助某高中题库某题
520775
willix楼主2023/3/18 10:40

如题,题目如下:

题目描述

FDFZ特别喜欢正方形。以前他有两个长方形操场,每个操场都由左下角坐标(a, b)(a,b)和右上角坐标(x,y)(x,y)描述,并且两侧与XX轴和YY轴平行。现在FDFZ想用一个最小尺寸的正方形操场来代替已有的两个操场,并且要覆盖已有的两个操场的区域。

请帮助FDFZ计算出他的正方形操场所需的最小面积。

输入格式

第一行有四个整数,aa,bb,xx,yy,四个整数均在0~10之间,表示原来的第一个长方形操场,操场的左下角位于点(a,b)(a,b),右上角位于点(x,y)(x,y),其中x>ax>a,y>by>b。

第二行也有四个整数,表示原来的第二个长方形操场,表示方法与第一个相同。

测试数据保证两个长方形操场没有重叠部分

输出格式

一个整数,表示新的正方形操场的面积的最小值。

输入输出样例

输入 #1

6 6 8 8

1 8 4 9

输出 #1

49

输入 #2

2 1 9 7

5 8 6 9

输出 #2

64

我的代码如下:

#include <bits/stdc++.h>
using namespace std;
int main() {
	int a[3];
	int b[3];
	for(int i = 0;i <= 3;i++) {
		cin >> a[i] >> b[i];
	}
	sort(a,a+4);
	sort(b,b+4);
	int c=max(a[3]-a[0], b[3]-b[0]);
	cout << c*c;		
	return 0;
}

其中,数组a保存了4个坐标的横坐标,数组b保存了4个坐标的纵坐标。我的想法是,求出横、纵坐标的最大值和最小值并作差,求出较大的那个构建正方形。但是只有40分,请问哪里有问题?

2023/3/18 10:40
加载中...