首页 > 试题广场 >

裁减网格纸

[编程题]裁减网格纸
  • 热度指数:21320 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。

输入描述:
第一行一个数n(2≤n≤1000)表示点数,接下来每行一对整数xi,yi(-1e9<=xi,yi<=1e9)表示网格上的点


输出描述:
一行输出最小面积
示例1

输入

2
0 0
0 3

输出

9
头像 秦时明月2022
发表于 2022-08-17 10:19:22
解题思路 寻找最小点(x1,y1)和最大点(x2,y2),取最大边长即为最小正方形边长;注意输入输出,简单模拟即可; 代码 #include <bits/stdc++.h> using namespace std; int main(){ int n; while(c 展开全文
头像 贪吃的迪恩顶呱呱
发表于 2024-05-13 13:36:35
首先理解题意,要求最小面积的正方形,其实就是找到一个正方形,能恰好把所有的点框住,并求出这个正方形的面积。那么边输入数据边更新所有坐标的边界条件,最后再计算面积即可。 #include <climits> #include <iostream> using namespace 展开全文
头像 牛客248342009号
发表于 2021-12-12 18:40:23
while 1: try: n=input() except: break tx,ty=[],[] for i in range(int(n)): x,y=map(int,input().split()) tx.append 展开全文
头像 野蛮的河老师在干饭
发表于 2023-03-12 15:42:24
import java.util.*; import java.math.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { 展开全文
头像 我先矛盾_
发表于 2021-03-29 22:17:15
分别用两个数组去记录每个点的行坐标和列坐标,row[],col[];对这两个数组排序,然后求数组中最大值和最小值的差,length = sorted_row[n-1] - sorted_row[0],width = sorted_col[n-1] - sorted_col[0];此时得到的长和宽的乘 展开全文
头像 节课
发表于 2022-10-30 20:26:05
#include <iostream> using namespace std; #include<algorithm> #include<vector> int main() 展开全文
头像 17c89
发表于 2024-02-28 11:27:35
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); while 展开全文
头像 牛客198321238号
发表于 2021-10-08 19:10:31
#include <stdio.h> void cal() { int n,t; scanf("%d",&n); int x[n],y[n]; int xmin,xmax,ymin,ymax; scanf("%d %d",&x[0] 展开全文