首页 > 试题广场 >

矩形重组

[编程题]矩形重组
  • 热度指数:16 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

有四个四边形,已确定他们来源于一个矩形的切块,切块规则是:两根切割直线分别过矩形的两个对立边,把矩形切割成四块,并都满足以下前提条件:

1)切割直线不会经过矩形顶点;

2)切割直线与矩形边不垂直;

3)两切割线不相互垂直;

4)切割得到的四个边长度两两不等;
切割示例如图所示:

由示例所示情况可以看到,切割后得到的四边形会随机摆放到不同位置,并且可能会在平面内翻转或旋转任意角度

现在已知被切好的四个四边形各个顶点坐标,求矩形的长和宽


输入描述:
四个四边形的顶点坐标(确保是构成矩形,每四行代表一个四边形的四个顶点,顺时针顺序),如下所示:

X00,y00
X01,y01
X02,y02
X03,y03
X10,y10
X11,y11
X12,y12
X13,y13
X20,y20
X21,y21
X22,y22
X23,y23
X30,y30
X31,y31
X32,y32
X33,y33


输出描述:
长和宽a,b,确保a>=b。

输出按四舍五入取整至个位。
示例1

输入

50,500
95.3333,500
114.755,265.303
50,234.286
220,500
220,315.714
114.755,265.303
95.3333,500
220,50
132.571,50
114.755,265.303
220,315.714
50,50
50,234.286
114.755,265.303
132.571,50

输出

450,170
示例2

输入

372.441,533.392
418.401,577.931
486.357,527.075
444.021,459.528
450,400
450,356.19
287.41,316.188
274,400
929.181,291.461
785.82,277.91
756.378,391.833
914.482,446.958
705.23,304.892
702.941,402.008
779.881,422.872
801.203,307.154

输出

240,200
这TM是数学题吧...
发表于 2021-07-30 17:38:33 回复(0)
浮点数比较相等要确定精确度确实比较玄学,一开始精度设得很高,该判定相等的没判定相等,又设得很低,不该相等的判相等了,调成0.1终于过了。
发表于 2020-01-07 20:00:36 回复(0)