Codeforces Round #346 (Div. 2) D Bicycle Race (叉积)
来源:互联网 发布:华师网络自助缴费网址 编辑:程序博客网 时间:2024/05/02 01:36
Note
The first sample corresponds to the picture:
The picture shows that you can get in the water under unfortunate circumstances only at turn at the point (1, 1). Thus, the answer is 1.
题意:给出一个多边形的所有点坐标(按顺序给),某人求顺时针走一圈有多少条边使他走进多边形内。
分析:这个人在顺时针走,如果连着的两条线段,是逆时针的,显然这个人就走到多边形内部去了
这个就用个叉积去判一判就好了。
#include <cstdio>#include <cstring>#include <stack>#include <queue>#include <map>#include <set>#include <vector>#include <cmath>#include <algorithm>using namespace std;const double eps = 1e-6;const double pi = acos(-1.0);const int INF = 0x3f3f3f3f;const int MOD = 1000000007;#define ll long long#define CL(a,b) memset(a,b,sizeof(a))#define lson (i<<1)#define rson ((i<<1)|1)#define MAXN 100010struct node{ int x,y;}s[1010];int chaji(node A, node B, node C){ return (A.x-B.x)*(C.y-B.y)-(C.x-B.x)*(A.y-B.y);}int main(){ int n; while(scanf("%d",&n)==1) { for(int i=0; i<=n; i++) cin>>s[i].x>>s[i].y; s[n+1].x = s[1].x; s[n+1].y = s[1].y; int ans = 0; for(int i=1; i<=n; i++) { if(chaji(s[i-1], s[i], s[i+1]) < 0) ans++; } cout<<ans<<endl; } return 0;}
0 0
- Codeforces Round #346 (Div. 2) D Bicycle Race (叉积)
- Codeforces Round #346 (Div. 2) D. Bicycle Race
- Codeforces Round #346 (Div. 2) D. Bicycle Race
- Codeforces Round #346 (Div. 2) - D Bicycle Race
- Codeforces Round #346 (Div. 2) D. Bicycle Race
- Codeforces Round #346 (Div. 2) D. Bicycle Race(点在多边形内部)
- Codeforces Round #346 (Div. 2)-D. Bicycle Race(规律或暴力)
- CodeForces 659D Bicycle Race(叉积)
- codeforces 659 D. Bicycle Race
- D - Bicycle Race CodeForces 659D
- CodeForces - 659D Bicycle Race (数学几何&技巧转换)
- cf - #346 D-Bicycle Race
- Codeforces 659D Bicycle Race【计算几何】
- Codeforces Round #346 (Div. 2) D (叉积)
- 简单数学题或者计算几何:Codeforces 659D-Bicycle Race
- CodeForces 659 D. Bicycle Race(计算几何 + 数学公式)
- codeforces Round # 187(Div.2) D
- Codeforces Round #277 (Div. 2)(D)
- 字典树模板
- Linux 中进入mysql服务器的操作
- 类和对象-构造方法
- 快速打渠道包(分享整理)
- new int 创建动态内存
- Codeforces Round #346 (Div. 2) D Bicycle Race (叉积)
- css浮动float
- 圆上三点求圆心和半径
- TCP/IP 教程
- python归并排序
- java并发编程
- uclinux很久前笔记3
- JavaScript中创建对象的方法:工厂模式,构造函数模式, 原型模式
- 图解观察托管程序线程