1. 程式人生 > >Codeforces Round #284 (Div. 1) A. Crazy Town 計算幾何

Codeforces Round #284 (Div. 1) A. Crazy Town 計算幾何

con bsp 答案 2個 test 過多 can 幾何 targe

題面

題意:給你2個點A和B,和n條直線(ax+by+c=0),給n個a,b,c,求A到B至少跨過多少條直線

題解:對於每條直線,看2個點是否在他同側,異側答案就+1

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 double x1,x2,y11,y2,a,b,c,t1,t2; 
 4 int n,ans;
 5 int main()
 6 {
 7     cin>>x1>>y11;
 8     cin>>x2>>y2;
 9     scanf("%d",&n);
10 for(int i=0;i<n;i++) 11 { 12 cin>>a>>b>>c; 13 t1=a*x1+b*y11+c; 14 t2=a*x2+b*y2+c; 15 if (t1*t2<0) ans++; 16 } 17 cout<<ans<<endl; 18 }

Codeforces Round #284 (Div. 1) A. Crazy Town 計算幾何