Codeforces Round #284 (Div. 1) A. Crazy Town 计算几何
Posted qywhy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #284 (Div. 1) A. Crazy Town 计算几何相关的知识,希望对你有一定的参考价值。
题意:给你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 计算几何的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #284 (Div. 2) C题(计算几何)解题报告
Codeforces Round #284 (Div. 1) A. Crazy Town 计算几何
Codeforces Round #436 E. Fire(背包dp+输出路径)