解题思路
寻找最小点(x1,y1)和最大点(x2,y2),取最大边长即为最小正方形边长;注意输入输出,简单模拟即可;
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
while(cin >> n){ //注意题目,同时输入多组数据
int x1 = INT_MAX, y1 = INT_MAX, x2 = INT_MIN, y2 = INT_MIN;
while(n){
int x0, y0;
cin >> x0 >> y0;
x1 = min(x1, x0);
y1 = min(y1, y0); //(x1,y1)最小点
x2 = max(x2, x0);
y2 = max(y2, y0); //(x2,y2)最大点
n--;
}
int x = max(x2 - x1, y2 - y1);
cout << x * x << endl;
}
return 0;
}
京公网安备 11010502036488号