题目不难,还是利用向量叉积,看图

接下来,只需按逆时针一次判断一边和一点的关系,若叉积>0,则表示存在大于180的内角,即为凹多边形

#include<iostream>
#include<math.h>
using namespace std;
struct node{int x,y;
}p[100];
int seg(node p1,node p2,node p3)
{int d=(p3.x-p1.x)*(p2.y-p1.y)-(p2.x-p1.x)*(p3.y-p1.y);if(d<0)return 1;else return 0;
}
int main()
{int n;while(scanf("%d",&n)==1&&n){for(int i=0;i<n;i++)scanf("%d %d",&p[i].x,&p[i].y);p[n].x=p[0].x,p[n].y=p[0].y;p[n+1].x=p[1].x,p[n+1].y=p[1].y;int flag=0;if(n<=3)flag=0;else {if(seg(p[0],p[1],p[2])){for(int i=3;i<n+2;i++)if(!seg(p[i-2],p[i-1],p[i])){flag=1;break;}else flag=0;}else flag=1;}if(flag)printf("concave\n");else printf("convex\n");}return 0;
}

转载于:https://www.cnblogs.com/nanke/archive/2011/07/29/2120838.html

hdu2108 判断是凸多边形还是凹多边形相关推荐

  1. 判断一个多边形是凸多边形还是凹多边形

    题目: 判断一个多边形是凸多边形还是凹多边形 输入: 输入包含多组测试数据,每组数据占2行,首先一行是一个整数n,表示多边形顶点的个数,然后一行是2×n个整数,表示逆时针顺序的n个顶点的坐标(xi,y ...

  2. 什么是凸多边形和凹多边形

    GIS有时需要用算法判断线段是否在多边形内: 最基本的出发点如下, 线段在多边形内的一个必要条件是线段的两个端点都在多边形内,但由于多边形可能为凹,所以这不能成为判断的充分条件: 就是说, 如果线段的 ...

  3. HDU2108(凹多边形还是凸多边形)

    题意:判断多边形是凸多边形还是凹多边形. #include<iostream> #include<algorithm> #include<cstring> #inc ...

  4. 【编程题】判断一个多边形是否为凸多边形

    题目: 顺序输入点的坐标,判断按这些点顺序连接起来的多边形是否为凸多边形还是凹多边形 输入描述: 输入包括两行: 第一行是一个整数n,n>=3,作为提示输入的顶点数量 第二行为2*n个整数,为各 ...

  5. HDU2108 Shape of HDU【多边形凹凸】

    Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. canvas 判断哪个元素被点击_监听 Canvas 内部元素点击事件的三种方法

    canvas内部元素不能像DOM元素一样方便的添加交互事件监听,因为canvas内不存在"元素"这个概念,他们仅仅是canvas绘制出来的图形.这对于交互开发来说是一个必经障碍,想 ...

  7. 杭电2108判断凹凸边形

    Shape of HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  8. c++ 多边形求交集代码(凸多边形与凸多边形交集)

    凸多边形与凹多边形的交集:c++ 多边形求交集代码(凸多边形与凹多边形的交集) 凸多边形与凸多边形的交集:c++ 多边形求交集代码(凸多边形与凸多边形的交集) /** 多边形的交,多边形的边一定是要按 ...

  9. 判断平面多边形的凹凸性

    对于平面多边形的三角化处理也是计算机图形学里面的一个领域,最近由于项目的需要,需要对平面多边形进行剖分,特此对其作了些研究. 在对平面多边形进行处理的时候,很多时候需要知道多边形的凹凸性,本文介绍两种 ...

  10. 判断三个数是否能构成三角形_七年级 初一下册数学三角形专题复习提纲及经典例题...

    初一下册数学知识点:三角形 ◆  ◆  ◆ 三角形是初一下学期学习的第四章内容,并且也是初中数学中几何部分的基础图形,这一部分是初中.高中乃至整个数学的基础,是很重要的一部分内容,也是考试的重点和难点 ...

最新文章

  1. 一文了解可视化的主成分分析(附教程)
  2. KNN识别手写数字MNIST
  3. python数据分析笔记——数据加载与整理
  4. html移动滚动彩字字幕特效,如何制作滚动字幕 旋转好莱坞字幕特效效果图(超多滚动效果)...
  5. Codeforces 773D Perishable Roads 最短路 (看题解)
  6. Windows 2000/XP中对窗口进行透明化
  7. Oracle 表的连接方式(1)-----Nested loop join和 Sort merge join
  8. Dropout抑制过拟合
  9. 关于mvn install命令执行报错问题
  10. Python模拟登陆CSDN
  11. java jre 和jed_需要jre的软件如何安装,如jedit?
  12. java编码什么时候需要增加空格_Java编码规范之声明和空白,空格
  13. 人工智能简史�_人工智能简史
  14. JAVA:代码实现zip压缩
  15. 来势汹汹 两大版本 百公里加速最快小于3.5s 电动车最大黑马居然是TA!
  16. 计算机卡死后自动关机,电脑经常卡住自动关机怎么办
  17. android的NDK安装及工程实例
  18. 黑马程序员_计算机编码技术
  19. 天池大数据比赛-菜鸟仓库比赛-第一赛季记录
  20. Proximal Point Algorithm(PPA)

热门文章

  1. Docker教程小白实操入门(3)--如何启动一个已经停止的容器
  2. FISCO BCOS Solidity 智能合约 批量插入新增数据
  3. Matlab关键规则挖掘尿片啤酒,电商数据挖掘之关联算法(一):“啤酒+尿布”的关联规则是怎么来的...
  4. JavaSE基础——网络编程
  5. JavaSE基础——Java多线程
  6. Unity MRTK(二)常见操作
  7. 解决anaconda与pycharm冲突导致import无法使用
  8. 设计模式之GOF23原型模式02
  9. lua数据结构php,Lua数据结构
  10. C语言程序设计型考册作业1,C语言程序设计作业 求解答