zoukankan      html  css  js  c++  java
  • 笔试题算法系列(二)百度裁剪网格纸

      度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。

    输入描述:
    第一行一个数n(2≤n≤1000)表示点数,接下来每行一对整数xi,yi(-1e9<=xi,yi<=1e9)表示网格上的点
    输出描述:
    一行输出最小面积
    输入例子1:
    2
    0 0
    0 3
    输出例子1:
    9

    代码如下:
     1 import java.util.Scanner;
     2 public class Main{
     3     public static void main(String [] args){
     4         Scanner sc = new Scanner(System.in);
     5         String [] line;
     6         while(sc.hasNext()){
     7             line = sc.nextLine().split(" ");
     8             int n = Integer.parseInt(line[0]);
     9             line = sc.nextLine().split(" ");
    10             int x0 = Integer.parseInt(line[0]);
    11             int y0 = Integer.parseInt(line[1]);
    12             int minX = x0;
    13             int maxX = x0;
    14             int minY = y0;
    15             int maxY = y0;
    16             for(int i=1; i<n; i++){
    17                 line = sc.nextLine().split(" ");
    18                 int xi = Integer.parseInt(line[0]);
    19                 int yi = Integer.parseInt(line[1]);
    20                 minX = Math.min(minX, xi);
    21                 maxX = Math.max(maxX, xi);
    22                 minY = Math.min(minY, yi);
    23                 maxY = Math.max(maxY, yi);
    24             }
    25             int borderSize = Math.max(Math.abs(maxX-minX),Math.abs(maxY-minY));
    26             int s = borderSize*borderSize;
    27             System.out.println(s);
    28         }
    29         sc.close();
    30     }
    31 }
  • 相关阅读:
    路漫漫的自学之路(1)
    feel better about yourself 完美破解MyEclipse 5.5.1 GA 注册码呵呵
    prctise .cpp & .h 的拆分
    JsDemo
    intro
    英汉词典
    曾国藩名言
    挫折
    去掉‘为帮助保护您的安全,internet explorer已经限制此文件显示可能访问您的计算机的活动内容’提示
    曾国藩对联欣赏
  • 原文地址:https://www.cnblogs.com/haimishasha/p/10637581.html
Copyright © 2011-2022 走看看