hdu 2108 简单计算几何 判断凹凸
2013-03-24 13:54
274 查看
截图摘自大神博客
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
#include<map>
#include<set>
using namespace std;
int a[1050],b[1050];
int main()
{
int n;
while(scanf("%d",&n)!=EOF&&n)
{
for(int i=0;i<n;i++)
scanf("%d%d",a+i,b+i);
b
=b[0];a
=a[0];
b[n+1]=b[1];a[n+1]=a[1];//单独的算面积可以不写这个 因为原点是0 0 这个用s 看三个点的相对位置 可能不包括0 0
int flag=0;
for(int i=1;i<=n;i++)
{
int s=(a[i-1]-a[i+1])*(b[i]-b[i+1])-(b[i]-b[i+1])*(a[i]-a[i+1]);
if(s<0)
{flag=1;break;}
}
puts(flag==0?"convex":"concave");
}
}
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
#include<map>
#include<set>
using namespace std;
int a[1050],b[1050];
int main()
{
int n;
while(scanf("%d",&n)!=EOF&&n)
{
for(int i=0;i<n;i++)
scanf("%d%d",a+i,b+i);
b
=b[0];a
=a[0];
b[n+1]=b[1];a[n+1]=a[1];//单独的算面积可以不写这个 因为原点是0 0 这个用s 看三个点的相对位置 可能不包括0 0
int flag=0;
for(int i=1;i<=n;i++)
{
int s=(a[i-1]-a[i+1])*(b[i]-b[i+1])-(b[i]-b[i+1])*(a[i]-a[i+1]);
if(s<0)
{flag=1;break;}
}
puts(flag==0?"convex":"concave");
}
}
相关文章推荐
- 计算几何——HDUOJ 2108 - Shape of HDU(判断凹凸)
- hdu 2108:Shape of HDU(计算几何,判断多边形是否是凸多边形,水题)
- 计算几何 ( 判断线段相交 )——You can... ( HDU 1086 )
- hdu 2108 Shape of HDU(计算几何)
- hdu 4097 简单计算几何
- hdu2948 简单计算几何 判断点在三角形 矩形 圆形内
- hdu 5533 计算几何 判断是否为正方形
- (精)hdoj2108(计算几何)(判断凸多边形)
- ACM--多边形凹凸判断--HDOJ 2108--Shape of HDU
- HDU-2108--Shape of HDU---利用叉积判断凹凸多边形
- hdu 4643(简单计算几何)
- HDU2108 Shape of HDU - 计算几何 判断凹凸多边形
- HDU 4643 GSM 简单计算几何 (2013多校联合)
- poj1584 A Round Peg in a Ground Hole 判断多边形凹凸,点到线的距离【基础计算几何】
- [HDU 4082] Hou Yi's secret (简单计算几何)
- hdu 4998 简单计算几何
- HDU 1943 Ball bearings(简单计算几何)
- POJ1269 简单的计算几何判断直线相交
- 简单计算几何 hdu-4491 Windmill Animation
- HDU1798 简单高中的计算几何题= =。正余弦定理的综合应用么。。。