1 条题解
-
0
自动搬运
来自洛谷,原作者为

deepthinker
我思故我在——笛卡尔搬运于
2025-08-24 22:54:15,当前版本为作者最后更新于2024-01-14 19:53:15,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
一道非常简单的题目
这道题求需要多少次操作两条线段才能相交,其实因为一次操作可以平移任意长的距离,操作次数最多为 次(一次上下平移,一次左右平移)。
- 对于是否要上下平移,我们只需要判断两条线段的横坐标区间是否有公共部分。
- 同理,对于是否要左右平移,我们只需要判断两条线段的纵坐标区间是否有公共部分。
话不多说,直接上代码:
#include <bits/stdc++.h> using namespace std; long long ax, ay, bx, by, cx, cy, dx, dy, t; signed main() { cin >> t; while (t--) { int ans = 0; cin >> ax >> ay >> bx >> by >> cx >> cy >> dx >> dy;//输入 if (max(ax, bx) < min(cx, dx) || min(ax, bx) > max(cx, dx))//判断横坐标是否需要操作 { ans++; } if (max(ay, by) < min(cy, dy) || min(ay, by) > max(cy, dy))//判断纵坐标是否需要操作 { ans++; } cout << ans << '\n'; } return 0; }//结束总结
这道题目十分简单,主要考查的是分析和代码实现能力。
蒟蒻的第一篇题解,希望管理员通过。
- 1
信息
- ID
- 9082
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者