题解P10057 【Line】

· · 题解

一道非常简单的题目

题面传送门

这道题求需要多少次操作两条线段才能相交,其实因为一次操作可以平移任意长的距离,操作次数最多为 2 次(一次上下平移,一次左右平移)。

话不多说,直接上代码:

#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;
}//结束

总结

这道题目十分简单,主要考查的是分析和代码实现能力。

蒟蒻的第一篇题解,希望管理员通过。