其他分享
首页 > 其他分享> > Square

Square

作者:互联网

平面上有 \(n\) 个点,请求出包含它们的,四边都与坐标轴平行的最小正方形的面积。

输入格式
第一行一个整数 \(n\) 。

接下来 \(n\) 行每行两个整数 \(x_i\),\(y_i\) 表示点的坐标。

输出格式
输出一行一个整数表示最小面积。

样例
input

3
3 4
5 7
4 3

output

16

数据范围
对于 100% 的数据, \(n≤20,1≤x_i,y_i≤100\) 。

想要包含他们,就肯定要包含最上面,最下面,最左边和最右边的点。所以找到x和y的最大值和最小值,然后由于是正方形,所以在x和y上求个差就行了。

#include<cstdio>
#include<iostream>
using namespace std;
const int N=25;
int n,x[N],y[N],nx,ny,mx=2147483647,my=2147483647;
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d%d",&x[i],&y[i]),mx=min(mx,x[i]),nx=max(nx,x[i]),my=min(my,y[i]),ny=max(ny,y[i]);
	printf("%d",max(nx-mx,ny-my)*max(nx-mx,ny-my));
	return 0;
} 

标签:Square,包含,int,整数,正方形,2147483647,include
来源: https://www.cnblogs.com/mekoszc/p/16151020.html