题目描述:
地图上有若干个导电矩形,长度大小不一(矩形四个角的坐标x,y<=10000)而且电工觉得,反正矩形很标准,边都平行于坐标轴,所以矩形随便给两个对角的点就够了......这电工觉得你够聪明。
在某个位置有一个电针,而且放出了一股电流,只有包含(包括在边界上)了电针的矩形才有可能将这电流导流,而最终面积最大的矩形是导流的矩形。
求这个矩形是输入数据中给出的第几个矩形
代码:
java
package lanqiao;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int arr[][] = new int[n][4];
for(int i = 0;i < n;i ++)
{
for(int j = 0;j < 4;j ++)
{
arr[i][j] = sc.nextInt(); //构建矩形
}
}
int x = sc.nextInt(),y = sc.nextInt();
int tmparea = 0,index = 0; //tmparea为暂存最大面积,index记录最大面积的下标
for(int i = 0;i < n;i ++)
{
int maxx = Math.max(arr[i][0],arr[i][2]),minx = Math.min(arr[i][0],arr[i][2]);
int maxy = Math.max(arr[i][1], arr[i][3]),miny=Math.min(arr[i][1], arr[i][3]);
int area =(maxx-minx)*(maxy-miny); //计算每个矩形的面积
if(x>=minx&&x<=maxx&&y>=miny&&y<=maxy&&tmparea<area) { //若点在该矩形且该矩形面积比最大面积大则更新tempare及index
tmparea = area;
index = i;
}
}
System.out.println(index + 1);
}
}