Crazy Town |
---|
题意: 在一个平面图中,给定一个起点和终点的坐标,以及n条Ax + By +C = 0
直线的A、B、C。问七点到终点需要穿过多少条直线(除了点在线上)
题解: 直接将点的坐标分别代入直线,如果求出来的值异号,说明需要穿过直线。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
int n;
ll sx, sy, ex, ey;
int main() {
int ans = 0;
scanf("%lld%lld%lld%lld%d", &sx, &sy, &ex, &ey, &n);
while(n--) {
ll a, b, c;
scanf("%lld%lld%lld", &a, &b, &c);
ll x = sx * a + sy * b + c;
ll y = ex * a + ey * b + c;
if(x > 0 && y < 0 || x < 0 && y > 0) ans++;
}
printf("%d\n", ans);
return 0;
}