一、

1、
#include<iostream>
#include<algorithm>
using namespace std;
struct node{ //结构体定义点
int x;
int y;
}d[1000];
int main()
{
int n;
while(cin>>n)
{
int xmin,xmax,ymin,ymax; //四个最大最小坐标点
for(int i=0;i<n;i++)
{
cin>>d[i].x>>d[i].y;
}
xmin=d[0].x; //赋初始值
xmax=d[0].x;
ymin=d[0].y;
ymax=d[0].y;
for(int i=1;i<n;i++)
{
if(xmin>d[i].x){
xmin=d[i].x;
}
if(xmax<d[i].x){
xmax=d[i].x;
}
if(ymin>d[i].y){
ymin=d[i].y;
}
if(ymax<d[i].y){
ymax=d[i].y;
}
}
int l;
l=max(xmax-xmin,ymax-ymin); //求出面积
cout<<l*l;
}
return 0;
}
通过率36% ,由于忽略了int 的范围。
int 范围 [-2^31 , 2^31 -1] 即 [-2147483648,2147483647]
所以很容易溢出。

出错
2、
#include<iostream>
#include<algorithm>
using namespace std;
struct node{ //结构体定义点
long long x,y;
}d[1000];
int main()
{
int n;
while(cin>>n)
{
long long xmin,xmax,ymin,ymax; //四个最大最小坐标点
for(int i=0;i<n;i++)
{
cin>>d[i].x>>d[i].y;
}
xmin=d[0].x; //赋初始值
xmax=d[0].x;
ymin=d[0].y;
ymax=d[0].y;
for(int i=1;i<n;i++)
{
if(xmin>d[i].x){
xmin=d[i].x;
}
if(xmax<d[i].x){
xmax=d[i].x;
}
if(ymin>d[i].y){
ymin=d[i].y;
}
if(ymax<d[i].y){
ymax=d[i].y;
}
}
long long l;
l=max(xmax-xmin,ymax-ymin); //求出面积
cout<<(l*l);
}
return 0;
} // 2 800000000 900000000 -800000000 -900000000
用 long long 数据格式才可以。

各种数据类型范围

原文:https://www.cnblogs.com/ruo-li-suo-yi/p/9545409.html