【hdu 2108】Shape of HDU
【题目链接】:http://acm.hdu.edu.cn/showproblem.php?pid=2108
【题意】
【题解】 
 
逆时针; 
可以想象一下; 
如果是凸多边形的话; 
逆时针的相邻的两条边; 
前一条和后一条(逆时针意义上的“后一条”)边所代表的向量; 
如果做叉积的话; 
其结果肯定是指向屏幕外面的; 
如果突然变成凹的了; 
再做叉乘的话; 
指向是屏幕里面的了; 
也就是说如果是凸多边形的话; 
叉乘的结果应该都为正数; 
 
【Number Of WA】 
 
0 
 
【完整代码】
#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define ms(x,y) memset(x,y,sizeof x)
typedef pair<int,int> pii;
typedef pair<LL,LL> pll;
const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int N = 11000;
struct point
{
    double x,y;
};
double chaji(point a,point b)
{
    double x1 = a.x,y1 = a.y;
    double x2 = b.x,y2 = b.y;
    return x1*y2-x2*y1;
}
int n;
point a[N];
int main()
{
    //freopen("F:\\rush.txt","r",stdin);
    ios::sync_with_stdio(false);
    while (cin >> n)
    {
        if (n==0) break;
        rep1(i,1,n)
            cin >> a[i].x >> a[i].y;
        a[n+1]=a[1],a[n+2]=a[2];
        bool fi = false;
        rep1(i,1,n)
        {
            point v1 = point{a[i+1].x-a[i].x,a[i+1].y-a[i].y};
            point v2 = point{a[i+2].x-a[i+1].x,a[i+2].y-a[i+1].y};
            if (chaji(v1,v2)<0) fi = true;
        }
        if (fi)
            cout <<"concave"<<endl;
        else
            cout <<"convex"<<endl;
    }
    //printf("\n%.2lf sec \n", (double)clock() / CLOCKS_PER_SEC);
    return 0;
}
【hdu 2108】Shape of HDU的更多相关文章
- 【解题报告】 Leapin' Lizards HDU 2732 网络流
		
[解题报告] Leapin' Lizards HDU 2732 网络流 题外话 在正式讲这个题目之前我想先说几件事 1. 如果大家要做网络流的题目,我在网上看到一个家伙,他那里列出了一堆网络流的题目, ...
 - 【计算几何初步-判断是否凸多边形】【HDU2108】Shape of HDU
		
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
 - 【中国剩余定理】POJ 1006 & HDU 1370 Biorhythms
		
题目链接: http://poj.org/problem?id=1006 http://acm.hdu.edu.cn/showproblem.php?pid=1370 题目大意: (X+d)%23=a ...
 - 【板+背包】多重背包 HDU Coins
		
http://acm.hdu.edu.cn/showproblem.php?pid=2844 [题意] 给定n种价值为Ci,个数为Wi的硬币,问在1~V中的这些数中哪些数能由这些硬币组成? [思路] ...
 - 【Android UI】 Shape详解
		
在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决.不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片. 这样就容易使apk变大. 那 ...
 - 【49.23%】【hdu 1828】Picture
		
Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
 - 【hdu 1043】Eight
		
[题目链接]:http://acm.hdu.edu.cn/showproblem.php?pid=1043 [题意] 会给你很多组数据; 让你输出这组数据到目标状态的具体步骤; [题解] 从12345 ...
 - 【HDU 3068】 最长回文
		
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=3068 [算法] Manacher算法求最长回文子串 [代码] #include<bits/s ...
 - 【HDU 4699】 Editor
		
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=4699 [算法] 维护两个栈,一个栈放光标之前的数,另外一个放光标之后的数 在维护栈的同时求最大前缀 ...
 
随机推荐
- Coursera Algorithms Programming Assignment 4: 8 Puzzle (100分)
			
题目原文:http://coursera.cs.princeton.edu/algs4/assignments/8puzzle.html 题目要求:设计一个程序解决8 puzzle问题以及该问题的推广 ...
 - PCB  MongoDB 索引
			
在索引在数据库中非常重要,当然在MongoDB也是一样啦. 一.获取索引 db.ppeflow.getIndexes() 初始化,每个集都默认_id字段为主键objectid,索引名为_id_ 二.创 ...
 - [Swift通天遁地]二、表格表单-(11)创建星期选项表单和拥有浮动标签的文本框
			
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
 - Akka源码分析-local-DeathWatch
			
生命周期监控,也就是死亡监控,是akka编程中常用的机制.比如我们有了某个actor的ActorRef之后,希望在该actor死亡之后收到响应的消息,此时我们就可以使用watch函数达到这一目的. c ...
 - JavaScript--控制类名(className 属性)
			
className 属性设置或返回元素的class 属性. 语法: object.className = classname 作用: 1.获取元素的class 属性 2. 为网页内的某个元素指定一个c ...
 - 【BZOJ1483】[HNOI2009]梦幻布丁(平衡树启发式合并+并查集)
			
题目: BZOJ1483 分析: (这题码了一下午,码了近250行,但是意外跑的比本校各位神仙稍快,特写博客纪念) 首先能看出一个显然的结论:颜色段数只会变少不会变多. 我们考虑用并查集维护区间,对于 ...
 - 我的github教程
			
这篇文章记录个人常用的一些命令,和记不住的一些命令. 安装 在 Windows 上安装 Git ,有个叫做 msysGit 的项目提供了安装包: http://msysgit.github.io/ 完 ...
 - html用过标签记录
			
nowrap="nowrap" //用于列表中td不许换行 maxlength="100" //用于输入框的长度限制 colspan="2" ...
 - 完整版本的停车场管理系统源代码带服务端+手机android客户端
			
该源码是停车场管理软件附带源代码 J2EE服务端+android客户端,也是一套停车场管理车辆进出的管理软,喜欢的朋友可以看看吧. 应用的后台管理主要功能介绍:1 机构管理 ,机构有从属管理< ...
 - IE9的F12工具,"网络"页签,点击"开始捕获"之后,请求显示的状态是"挂起"的分析和解决
			
最近一个项目,客户端使用用jQuery编写ajax请求,服务端采用struts2框架.js发送请求和action处理请求过程中,遇到一个问题.刚开始觉得问题很诡异,仔细定位很久之后才发现问题,虽然问题 ...