有一个城市需要修建,给你N个民居的坐标X,Y,问把这么多民居全都包进城市的话,城市所需最小面积是多少(注意,城市为平行于坐标轴的正方形)
输入描述:
第一行为N,表示民居数目(2≤N≤1000)
输出描述:
城市所需最小面积
代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N =sc.nextInt();
double minx=Double.POSITIVE_INFINITY;
double miny=Double.POSITIVE_INFINITY;
double maxx=Double.NEGATIVE_INFINITY;
double maxy=Double.NEGATIVE_INFINITY;
for(int i=0;i<N;i++)
{
long x,y;
x=sc.nextLong();
y=sc.nextLong();
minx=Math.min(minx,x);
maxx=Math.max(maxx,x);
miny=Math.min(miny,y);
maxy=Math.max(maxy,y);
}
long x0=(long)Math.max(maxx-minx,maxy-miny);
long S=x0*x0;
System.out.println(S);
}
}
---------------------------------------------------------------------------可爱的分界线----------------------------------------------------------------------------
圈地运动,就是用很多木棍摆在地上组成一个面积大于0的多边形~
小明喜欢圈地运动,于是他需要去小红店里面买一些木棍,期望圈出一块地来。小红想挑战一下小明,所以给小明设置了一些障碍。障碍分别是:
1.如果小明要买第i块木棍的话,他就必须把前i-1块木棍都买下来。
2.买了的木棍都必须用在圈地运动中。
那么请问小明最少买多少根木棍,才能使得木棍围成的图形是个面积大于0多边形呢?
输入描述:
第一行一个数n,表示木棍个数。
第二行n个数,第i个数表示第i个木棍的长度ai
1<=n<=10000
1<=ai<=10000
输出描述:
输出一个数,表示最少需要的木棍个数,如果无解输出-1
代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N =sc.nextInt();
int Max