题目描述
度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。
输入描述:
第一行一个数n(2≤n≤1000)表示点数,接下来每行一对整数xi,yi(-1e9<=xi,yi<=1e9)表示网格上的点
输出描述:
一行输出最小面积
示例1
输入
复制
2 0 0 0 3
输出
复制
9
#include "stdio.h"
#include <math.h>
#include <iostream>
#include "limits.h"
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int minX=INT_MAX, minY=INT_MAX, maxX=INT_MIN, maxY=INT_MIN;
for(int i = 0;i<n;i++)
{
int x,y;
cin>>x>>y;
minX = min(minX,x);
minY = min(minY,y);
maxX = max(maxX,x);
maxY = max(maxY,y);
}
int side = max(maxX-minX,maxY-minY);
cout<<(side)*(side)<<endl;
}
return 0;
}