hdu:Shape of HDU(判断多边形凹凸)
Problem Description
话说上回讲到海东集团推选老总的事情,最终的结果是XHD以微弱优势当选,从此以后,“徐队”的称呼逐渐被“徐总”所取代,海东集团(HDU)也算是名副其实了。
创业是需要地盘的,HDU向钱江肉丝高新技术开发区申请一块用地,很快得到了批复,据说这是因为他们公司研发的“海东牌”老鼠药科技含量很高,预期将占全球一半以上的市场。政府划拨的这块用地是一个多边形,为了描述它,我们用逆时针方向的顶点序列来表示,我们很想了解这块地的基本情况,现在请你编程判断HDU的用地是凸多边形还是凹多边形呢?
Input
输入包含多组测试数据,每组数据占2行,首先一行是一个整数n,表示多边形顶点的个数,然后一行是2×n个整数,表示逆时针顺序的n个顶点的坐标(xi,yi),n为0的时候结束输入。
Output
对于每个测试实例,如果地块的形状为凸多边形,请输出“convex”,否则输出”concave”,每个实例的输出占一行。
输入样例
4
0 0 1 0 1 1 0 1
0
输出样例
convex
以每个顶点为基准与其后两个点判断顺逆时针方向
#include<bits/stdc++.h>
using namespace std;
vector<int> x;
vector<int> y;
bool cro_p(int i,int j,int k)
{
int ans,x1=x[j]-x[i],x2=x[k]-x[i],y1=y[j]-y[i],y2=y[k]-y[i];
ans=(x1*y2-x2*y1);
return ans>0;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int n,xi,yi;
while(cin>>n,n)
{
x.clear();y.clear();//注意清空vector
for(int i=0;i<n;++i)
{
cin>>xi>>yi;
x.push_back(xi);
y.push_back(yi);
}
bool flag=1;
for(int i=0;i<n;++i)
{
if(!cro_p(i,(i+1)%n,(i+2)%n))
flag=0;
}
if(flag) cout<<"convex"<<'\n';
else cout<<"concave"<<'\n';
}
}
hdu:Shape of HDU(判断多边形凹凸)的更多相关文章
- hdu 2108:Shape of HDU(计算几何,判断多边形是否是凸多边形,水题)
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- poj1584 A Round Peg in a Ground Hole 判断多边形凹凸,点到线的距离【基础计算几何】
大致思路:首先对于所给的洞的点,判断是否是凸多边形,图形的输入和输出可以是顺时针或者逆时针,而且允许多点共线 Debug 了好几个小时,发现如下问题 判断三点是否共线,可用斜率公式判断 POINT p ...
- hdu 2108 Shape of HDU【判断多边形是否是凸多边形模板】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2108 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- 【计算几何初步-判断是否凸多边形】【HDU2108】Shape of HDU
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- hdu 2108 Shape of HDU 判断是否为凸多边形
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Pro ...
- HDU 2108 Shape of HDU (判断是不是凸多边形 叉乘)
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- Shape of HDU
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- hdu 2108 Shape of HDU (数学)
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- POJ1584 判断多边形是否为凸多边形,并判断点到直线的距离
求点到直线的距离: double dis(point p1,point p2){ if(fabs(p1.x-p2.x)<exp)//相等的 { return fabs(p2.x-pe ...
- hdu2108 Shape of HDU 极角排序判断多边形
Problem Description 话说上回讲到海东集团推选老总的事情,最终的结果是XHD以微弱优势当选,从此以后,"徐队"的称呼逐渐被"徐总"所取代,海东 ...
随机推荐
- Django-django-celery的配置
1.安装django-celery pip install django-celery 2.添加配置 demos/demos/settings.py(我的项目名为demos,这里只是示范,切勿搞混 ...
- pycharm永久激活码(亲测好用)
引用自某不知名大佬,在此致谢,获取激活码链接如下: https://www.ajihuo.com/pycharm/4197.html
- drush .. drupal console
"You can run both." They compliment each other, yet the final decision is yours. Especiall ...
- Android studio java文件显示j爆红
今天在android studio打开一个原来的工程,此工程是很久以前使用eclipse创建的,在android studio下有些问题需要解决. 1.设置project的jdk, 2.设置modul ...
- Windows11 微软提供三种路径 安装程序应用
Windows11 微软提供三种路径 安装程序应用
- 服务器5M带宽下载速计算
5M贷款的服务器实际下载速度不是5M每秒,而是640KB/S,是由于服务商口中的宽带指的是bit(比特),而下载速度使用的单位是Byte(字节),1Byte(字节)=8bit(比特),所以,宽带和下载 ...
- RPS网卡多队列
一体机上传1G文件导致服务器很卡,怀疑是网卡未开启多核多队列导致. 脚本如下 #!/bin/bash # Enable RPS (Receive Packet Steering) read -p &q ...
- pytorch MNIST加载已下载的数据集出现问题及解决方法
import torch import torch.nn as nn from torch.autograd import Variable import torchvision import tor ...
- 7.项目结构的构建和提交到gitee
创建微服务模块 以商城项目的产品模块为例 点击Next,然后倒入依赖的包,Spring Web 然后在选择一个微服务和微服务之间调用需要的包:OpenFeign 导入这两个微服务的组件就行,后面需要用 ...
- [mysql练习]多行结果合并问题练习
有一个scores表,表结构和数据如下: id, stu_id, name,course, grade 1,1,贾万, 语文, 902,1,贾万 ,数学 ,100 3,2,毛之远 ,语文 ,974,2 ...