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+输出路径)

[ACM]Codeforces Round #534 (Div. 2)

Codeforces 284E(概率)

Codeforces Round #726 (Div. 2) B. Bad Boy(贪心)