百度 裁剪网格纸 贪心
题目描述
度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。
输入描述:
第一行一个数n(2≤n≤1000)表示点数,接下来每行一对整数xi,yi(-1e9<=xi,yi<=1e9)表示网格上的点
输出描述:
一行输出最小面积
示例1
输入
20 00 3
输出
9
#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long int
#define INF 1<<30
int main()
{
ll n;
while(cin>>n)
{
int x,y;
cin>>x>>y;
int x_max=x,x_min=x,y_max=y,y_min=y;
for(int i=0;i<n-1;++i)
{
cin>>x>>y;
if(x>x_max) x_max=x;
if(x<x_min) x_min=x;
if(y>y_max) y_max=y;
if(y<y_min) y_min=y;
}
//cout<<x_max<<x_min<<y_max<<y_min<<endl;
cout<<max(abs(x_max-x_min),abs(y_max-y_min))*max(abs(x_max-x_min),abs(y_max-y_min))<<endl;
}
return 0;
}