hdu 2108 Shape of HDU

简介:

提示叉积:
代码如下:

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;

struct point
{
    int x;
    int y;
}a[50];
int fun(int i,int j,int k) //叉积
{
   return (a[j].x-a[i].x)*(a[k].y-a[j].y)-(a[k].x-a[j].x)*(a[j].y-a[i].y);
}
int main()
{
    int n;
    bool flag;
    while(cin>>n,n)
    {
        for(int i=0; i<n; i++)
          cin>>a[i].x>>a[i].y;
        for(int i=n; i<n+2; i++)
            a[i].x=a[i-n].x,a[i].y=a[i-n].y;
        for(int i=0; i<n; i++)
        {
            flag=0;
            if(fun(i,i+1,i+2)<0)
            {
                flag=1;
                break;
            }
        }
        if(!flag)
            puts("convex");
        else
            puts("concave");
    }
    return 0;
}
目录
相关文章
poj 1455
Description n participants of > sit around the table. Each minute one pair of neighbors can change their places.
620 0
|
人工智能 BI
poj-3094-quicksum
http://poj.org/problem?id=3094 很简单 #include #include using namespace std; int main() { string a; int sum=0; while(getline(cin...
577 0
|
JavaScript
|
机器学习/深度学习 算法