侧边栏壁纸
  • 累计撰写 192 篇文章
  • 累计创建 2 个标签
  • 累计收到 87 条评论

【题解】【比赛】矩形相交

Allen Best
2023-07-19 / 0 评论 / 0 点赞 / 57 阅读 / 529 字
温馨提示:
本文最后更新于 2023-07-20,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

image.png
找到图中标星号的两个点,如果x2-x3>0 && y2-y3>0 则两个矩形相交,否则不相交。

#include <bits/stdc++.h>
using namespace std;
int main()
{
	double x1, x2, x3, x4, y1, y2, y3, y4;
	double x_min, x_max, y_min, y_max;
	double l, w;
	cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4;
	x_min = min(max(x1, x2), max(x3, x4));
	x_max = max(min(x1, x2), min(x3, x4));
	l = x_min - x_max;
	y_min = min(max(y1, y2), max(y3, y4));
	y_max = max(min(y1, y2), min(y3, y4));
	w = y_min - y_max;
	if (l > 0 && w > 0)
	{
		printf("%.2lf", l * w);
	}
	else
	{
		printf("0.00\n");
	}
	return 0;
}
0

评论区