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

// ConsoleApplication10.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;


//找到最大值和最小值得差值
int getGap(vector<int>  vec)
{
	int max = vec[0];
	int min = vec[0];
	for (int i = 1;i < vec.size();i++)
	{
		if (max < vec[i])
		{
			max = vec[i];
		}
		if(min> vec[i])
		{
			min = vec[i];
		}
	}
	return max - min;
}

int main()
{
	int n;
	while (cin>>n)
	{
		vector<int> width;
		vector<int> heigh;
		int w, h;
		int flag = 0;
		while (cin >> w >> h) 
		{
			
			width.push_back(w);
			heigh.push_back(h);
			flag++;
			if (flag == n) break;
		}
			
			
		
		cout << max(getGap(width), getGap(heigh))*max(getGap(width), getGap(heigh))<<endl;
	}


	return 0;
};
原文地址:https://www.cnblogs.com/wdan2016/p/6438509.html