HLJUOJ1181(数学)
来源:互联网 发布:appstore代充淘宝 编辑:程序博客网 时间:2024/05/18 03:30
解题思路:
求最小的正方形把所有坐标全部囊括。寻找x坐标差值和y坐标差值最大的值,取其平方即可。由于坐标太大,坐标不能开数组存储。最后的平方操作要开成long long防止溢出。
完整代码:
#include <functional>#include <algorithm>#include <iostream>#include <fstream>#include <sstream>#include <iomanip>#include <numeric>#include <cstring>#include <climits>#include <cassert>#include <complex>#include <cstdio>#include <string>#include <vector>#include <bitset>#include <queue>#include <stack>#include <cmath>#include <ctime>#include <list>#include <set>#include <map>using namespace std;#pragma comment(linker, "/STACK:102400000,102400000")typedef long long LL;typedef double DB;typedef unsigned uint;typedef unsigned long long uLL;/** Constant List .. **/ //{const int MOD = int(1e9)+7;const int INF = 0x3f3f3f3f;const LL INFF = 0x3f3f3f3f3f3f3f3fLL;const DB EPS = 1e-9;const DB OO = 1e20;const DB PI = acos(-1.0); //M_PI;int main(){ #ifdef DoubleQ freopen("in.txt","r",stdin); #endif std::ios::sync_with_stdio(false); std::cin.tie(0); int n; while(cin >> n) { int a , b; int minx = INF , maxx = -INF; int miny = INF , maxy = -INF; for(int i = 0 ; i < n ; i ++) { cin >> a >> b; minx = min(minx , a); maxx = max(maxx , a); miny = min(miny , b); maxy = max(maxy , b); } int k; int k1 = maxx - minx; int k2 = maxy - miny; k = max(k1 , k2); cout << (LL)k * k << endl; }}
0 0
- HLJUOJ1181(数学)
- 使用数学运算(数学对象)
- 数学常数(Wikipedia)
- 数学分支(整理)
- 转(acm数学)
- POJ数学(ZZ)
- 计算数学(转)
- ACM数学(转)
- Feynman(数学)
- ACMer(数学,有意思)
- Equations(数学,水)
- HDOJ2045(组合数学)
- hdu 1061(数学)
- hdu 4153(数学)
- hdu 1403 (数学)
- hdu 1027(数学)
- hdu 1071 (数学)
- poj 1840 (数学)
- android实用接口归纳(持续更新中。。。)
- 单例模式学习笔记
- linux socket中select()函数以及FD_ZERO FD_SET FD_CLR FD_ISSET
- 黑马程序员——静态的应用
- BZOJ 1845 CQOI 2005 三角形面积并 扫描线
- HLJUOJ1181(数学)
- 主图指标,原创极强黄点,将军柱和黄金柱都是3日的
- RAGE的megatexture介绍
- 文本文件与二进制文件
- HDU 3038 How Many Answers Are Wrong(带权并查集)
- SDWebImage使用——一个可管理远程图片加载的类库
- RabbitMQ官网教程---工作队列
- 全新的PRT技术
- Ansible学习之基础(1)