1805: SC和ta的游泳池

Time Limit: 1 Sec  Memory Limit:
128 MB

Submit: 154  Solved: 43



SubmitStatusWeb
Board

Description

SC打牌又赢钱了,所以SC想要在他家的别墅里新建一个游泳池。

SC决定自己设计游泳池,他在纸上画好了坐标轴后开始方了,所以决定把游泳池设计成矩形的。

思考了几个月后,SC在坐标上描了4个点,而且这4个点正好构成一个矩形,并且矩形的边和坐标轴平行。

SC喜出望外,终于设计好了游泳池,决定打电话给WT请他来参观一下自己设计的游泳池。

WT觉得SC这设计的特别丑,于是用橡皮随手擦了几个点后就走了。

悲痛欲绝的SC觉得自己的审美是没问题的,想要恢复之前画好的矩形,所以急切的想知道剩下的这些点能不能恢复出来原来的矩形。

Input

包含多组测试数据。

每组数据第一行为一个正整数N (1 <= N <= 4)。

接下来N行,每行包含两个整数Xi,Yi (-1000 <= Xi,Yi <= 1000).代表第i个点的坐标。

数据保证这些点是原矩形的顶点坐标,并且矩形的边平行于坐标轴。

Output

若可以还原出唯一的矩形,请输出还原出的矩形的面积。如果无法还原出矩形请输出 -1。

Sample Input

2

0 0  1 111 1

Sample Output

1-1

HINT

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct zz
{
int x;
int y;
}q[5];
int judge(zz a,zz b,zz c)
{
return abs((b.x-a.x)*(c.y-a.y)-(b.y-a.y)*(c.x-a.x));
}
int main()
{
int n,i,j,k;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
scanf("%d%d",&q[i].x,&q[i].y);
if(n==1)
printf("-1\n");
else if(n==2)
{
if(q[1].x!=q[2].x&&q[1].y!=q[2].y)
{
int sum=abs((q[2].x-q[1].x)*(q[2].y-q[1].y));
printf("%d\n",sum);
}
else
printf("-1\n");
}
else
printf("%d\n",judge(q[1],q[2],q[3]));
}
return 0;
}

最新文章

  1. javascript中的继承与深度拷贝
  2. log4cxx
  3. RabbitMQ 记录
  4. 用PHP链接mysql数据库
  5. StringGrid 实例1:初始化StirngGrid的首行和首列
  6. CSS关于元素垂直居中的问题
  7. PE文件之资源讲解
  8. 【M28】智能指针
  9. leetcode&mdash;triangle
  10. 基于iOS,Android的服务器证书失效检测
  11. enode框架
  12. JAVA_SE基础——12.运算符的优先级
  13. css3整理--background-image
  14. splash 安装
  15. gitlab不小心把sign-in取消了怎么恢复
  16. Spring生态顶级项目说明
  17. C# 窗体文件下的 MainForm.cs,MainForm.Designer.cs,MainForm.resx,是什么,干什么
  18. CentOS7 修改网卡名称
  19. gprof的使用介绍
  20. [LeetCode] Simplify Path,文件路径简化,用栈来做

热门文章

  1. [HTML5] Inlining images with SVG and data URIs
  2. javaWeb web.xml 配置
  3. Android用canvas画哆啦A梦
  4. ZOJ 3690 Choosing number(dp矩阵优化)
  5. jmeter脚本编写之五类常见请求编写
  6. 十分钟掌握diff&amp;patch用法
  7. 什么是域名的TTL值? ——一条域名解析记录在DNS缓存服务器中的存留时间
  8. 固比固布局 圣杯布局 css实现传统手机app布局
  9. Edge浏览器的几个创意应用
  10. 使用JS方法使页面滚动到指定元素+优化+API介绍(动画)