版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mml5211314/article/details/50587572
Description
有一个城市需要建造,给你$N$个矿场的坐标$X$,$Y$,问把这么多矿坑全都包进城市的话,城市所需最小面积是多少(注意,城市为平行于坐标轴的正方形)
Input
第一行为$N$,表示矿场数目
下面为$N$行 每行两个数字$x_i$,$y_i$,表示第$i$行表示第$i$个矿场的坐标
$2≤N≤1000$
$0≤x_i,y_i≤1000 000 000$
Output
城市所需最小面积
Sample Input
2
0 0
2 2
Sample Output
4
Hint
long long 请使用%lld输入输出
//这道题的题意很明显,就是建立一个面积最小正方形的区域,把所有的矿场包含里面,就是把所有点的横纵坐标进行排序,选择横纵坐标里面最大的一个点的数值作为正方形//区域的边长,进行求解
//代码如下
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int n;
long long x[1010],y[1010];
while (scanf ("%d",&n)!=EOF)
{
int i;
for (i=0;i<n;i++)
{
scanf ("%lld%lld",&x[i],&y[i]);
}
sort(x,x+n);
sort(y,y+n);
long long t1=x[n-1]-x[0];
long long t2=y[n-1]-y[0];
if (t1>t2)
printf ("%lld\n",t1*t1);
else
printf ("%lld\n",t2*t2);
}
return 0;
}