首页 > 其他分享 >HDU 2108 Shape of HDU (判断凹凸)

HDU 2108 Shape of HDU (判断凹凸)

时间:2023-04-30 20:03:20浏览次数:46  
标签:y2 HDU x1 多边形 point Shape 2108 海东


Shape of HDU

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10350    Accepted Submission(s): 4796

Problem Description

话说上回讲到海东集团推选老总的事情,最终的结果是XHD以微弱优势当选,从此以后,“徐队”的称呼逐渐被“徐总”所取代,海东集团(HDU)也算是名副其实了。
创业是需要地盘的,HDU向钱江肉丝高新技术开发区申请一块用地,很快得到了批复,据说这是因为他们公司研发的“海东牌”老鼠药科技含量很高,预期将占全球一半以上的市场。政府划拨的这块用地是一个多边形,为了描述它,我们用逆时针方向的顶点序列来表示,我们很想了解这块地的基本情况,现在请你编程判断HDU的用地是凸多边形还是凹多边形呢?

Input

输入包含多组测试数据,每组数据占2行,首先一行是一个整数n,表示多边形顶点的个数,然后一行是2×n个整数,表示逆时针顺序的n个顶点的坐标(xi,yi),n为0的时候结束输入。

Output

对于每个测试实例,如果地块的形状为凸多边形,请输出“convex”,否则输出”concave”,每个实例的输出占一行。

Sample Input

4 0 0 1 0 1 1 0 1 0

Sample Output

convex 海东集团终于顺利成立了!后面的路,他们会顺顺利利吗? 欲知后事如何,且听下回分解——

Author

lcy

Source

ACM程序设计_期末考试(时间已定!!)

Recommend

lcy   |   We have carefully selected several similar problems for you:  1086 1392 1115 2036 2109 

题意:判断多边形是凹的还是凸的。

 判断 三个点 构成的 的两个 向量的 叉乘 即可

如果叉乘>0 代表凹,叉乘<0 代表凸,看图

HDU 2108 Shape of HDU (判断凹凸)_凸多边形

向量叉乘判断两向量之间是顺时针还是逆时针~~~~~~~~~诺~

 

HDU 2108 Shape of HDU (判断凹凸)_凸多边形_02

 

我画的能更好理解。 

 

HDU 2108 Shape of HDU (判断凹凸)_Java_03

顺时针 >0 ,就代表凹


#include <bits/stdc++.h>
using namespace std;
//已经排好序了
struct point{
    double x,y;
}p[12345];
double X(point a,point b,point c)
{   //ba X bc
    double x1,y1,x2,y2;
    x1=a.x-b.x;
    y1=a.y-b.y;
    x2=c.x-b.x;
    y2=c.y-b.y;
    return x1*y2-x2*y1;
};
int main()
{
    int n;
    while(scanf("%d",&n)&&n)
    {
        for(int i=1;i<=n;i++)
        {
            scanf("%lf%lf",&p[i].x,&p[i].y);
        }
        int flag=0;
        p[n+1]=p[1];
        p[n+2]=p[2];
        /*WA 了很多次 是因为没有处理 最后一个点与 前两个点*/
        for(int i=2;i<=n+1;i++)
        {
            if(X(p[i-1],p[i],p[i+1])>0) flag=1;
            //
        }
        if(flag) cout<<"concave"<<endl;//凹
        else cout<<"convex"<<endl;//凸
    }
    return 0;
}

 

标签:y2,HDU,x1,多边形,point,Shape,2108,海东
From: https://blog.51cto.com/u_14067502/6238089

相关文章

  • Geotools处理shape文件
    shape文件结构filename.shp:shapesfilename.shx:索引文件filename.dbf:结构化数据文件filename.qix:空间索引文件filename.fix:fid索引文件filename.sld:样式文件依赖<dependency><groupId>org.geotools</groupId><artifactId>gt-main</artifactId>......
  • HDU 1853 Cyclic Tour && HDU 3488 Tour 最小费用流
    TourTimeLimit:3000/1000MS(Java/Others)    MemoryLimit:65535/65535K(Java/Others)TotalSubmission(s):2490    AcceptedSubmission(s):1228ProblemDescriptionInthekingdomofHenryy,thereareN(2<=N<=200)cities,withM(M<......
  • HDU - 5649 线段树+区间二分答案 (好题)
    DZYhasasequencea[1…n].Itisapermutationofintegers1∼n.Nowhewantstoperformtwotypesofoperations:0lr:Sorta[l…r]inincreasingorder.1lr:Sorta[l…r]indecreasingorder.Afterdoingalltheoperations,hewilltellyouapositionk,andask......
  • 多校第六场 1011 hdu 5363Key Set(组合数学)
    题目链接:hdu5363题目大意:给出一个到n的自然数集合,问它有多少个子集,元素之和是偶数。题目分析:首先偶数不会导致集合的和的奇偶性发生变化;奇数会导致集合的和的奇偶性发生变化。我们设奇数m1个,偶数m2个。所以我们可以选取0~m1个偶数,但是只能选取偶数个奇数。那么偶数的方案数就是......
  • hdu 5441 长春区域赛网络赛 1005 Travel(并查集)
    题目链接:hdu5441题目大意:有一个n个点的无向图,给出m条边的边权,给出q次询问,每次给出一个值,求用到所有边权不大于这个值的边的情况下,能够互相到达的点对的个数(自己到自己不算)题目分析:首先我们对于边按照边权从小到大排序,对于询问按照值从小到大排序。枚举每次询问,从前到后扫描边,如果......
  • hdu 5442 长春区域赛网络赛 1006 Favorite Donut(后缀数组)
    题目链接:hdu5442题目大意:给出一个环,每颗珠子有一个甜度,选择第一个珠子和吃的方向,问得到的吃珠子的字符串的字典序最大的,如果有多个,选取位置最靠前的,如果还是多个,选择顺时针吃的。题目分析:-首先构造一个字符串,首先正着按环吃,那么就是字符串正着写两遍,连接在一起;中间用没有出现过的......
  • hdu 5446 长春区域赛网络赛1010 Unknown Treasure(lucas定理+中国剩余定理+移位乘法)
    题目链接:hdu5446题目大意:求出Cmn%M,M=p1⋅p2⋯pk题目分析:首先对于每个质数pi我们,我们可以利用Lucas定理求出Cmn%pi的值,Lucas定理如下:Cmn%p=Cm/pn/p⋅Cm%pn%p%p然后我们可以利用中国剩余定理求取最后答案:M=∏i=1kpi,Mi=M/piCmn%M=∑i=1kCmn%pi⋅Mi⋅inv[Mi]因为做乘法......
  • hdu 5444 长春区域赛网络赛 1008 Elven Postman(模拟)
    题目链接:hdu5444题目大意:给出一个序列,这个序列的第一个点是树的根节点,每次操作从当前点走到当前最靠右的每走过的点(点的序号越小越靠右),问将物品从根送到某个点的行进路线.题目分析:个人认为难在题意。。。构造出这个树之后,直接从目的地走回根节点就可以得到要求的路径。然后如何构......
  • HDU 5389 Zero Escape(DP + 滚动数组)
    ZeroEscapeTimeLimit:2000/1000MS(Java/Others)    MemoryLimit:131072/131072K(Java/Others)TotalSubmission(s):864    AcceptedSubmission(s):438ProblemDescriptionZeroEscape,isavisualnoveladventurevideogamedirectedbyKotar......
  • HDU1873 看病要排队
    E- 看病要排队TimeLimit:1000MS     MemoryLimit:32768KB     64bitIOFormat:%I64d&%I64uDescription看病要排队这个是地球人都知道的常识。不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么......