专栏文章

题解:P13752 【MX-X17-T1】Walk,Walk,Walk

P13752题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mioa7thb
此快照首次捕获于
2025/12/02 15:54
3 个月前
此快照最后确认于
2025/12/02 15:54
3 个月前
查看原文

思路

容易发现,对于任意一条线如果在两个点的中间,就一定会经过这条直线,所以我们把每条线记录下来,判断一下。

代码

CPP
#include<bits/stdc++.h>
using namespace std;
int a,b,a1,b1,n,ans,x[100010],y[100010];
int main(){
    cin >> n;
    for (int i = 1;i <= n;i++) scanf("%d%d",&x[i],&y[i]);
    cin >> a >> b >> a1 >> b1;
    for (int i = 1;i <= n;i++){
        if (x[i] == 1){
            if ((y[i] >= a && y[i] <= a1) || (y[i] <= a && y[i] >= a1)) ans++;
        } else if ((y[i] >= b && y[i] <= b1) || (y[i] <= b && y[i] >= b1)) ans++;
    }
    cout << ans << endl;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...