1. 程式人生 > >Hdu 2108 之解題報告

Hdu 2108 之解題報告

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

對於這題跟Hdu2036差不多都是要用數學計算幾何面積方法之一:向量來解決;

程式碼:

#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
struct node{
       int x,y;
}p[10000];

int find(int x1,int x2,int x3)
{
    int sum;
    sum = (p[x1].x-p[x3].x)*(p[x2].y-p[x3].y)-(p[x2].x-p[x3].x)*(p[x1].y-p[x3].y);  //公式向量p1,p2,p3的叉積,
                                                            //如果小於0,則是凹,否則是凸
    if(sum>0)  return 1;
    else       return -1; 
}

int main(void)
{
    int n;
    
    while(scanf("%d",&n)!=EOF)
    {
          if(n==0)   break;
          else
          {
              int f = 0,f1 = 0;
              for(int i=0;i<n;++i)
                  scanf("%d%d",&p[i].x,&p[i].y);
              for(int i=0;i<n;++i)
              {
                   f = find(i%n,(i+1)%n,(i+2)%n);
                   if(f<0){   f1 = 1; break; }
              }
              if(f1)   printf("concave\n");
              else     printf("convex\n");
          }
    }
    
    return 0;
} 


相關推薦

Hdu 2108 解題報告

Problem Description 話說上回講到海東集團推選老總的事情,最終的結果是XHD以微弱優勢當選,從此以後,“徐隊”的稱呼逐漸被“徐總”所取代,海東集團(HDU)也算是名副其實了。 創業是需要地盤的,HDU向錢江肉絲高新技術開發區申請一塊用地,很快得到了批覆,據

Hdu 2094解題報告

Problem Description 有一群人,打乒乓球比賽,兩兩捉對撕殺,每兩個人之間最多打一場比賽。 球賽的規則如下: 如果A打敗了B,B又打敗了C,而A與C之間沒有進行過比賽,那麼就認定,A一

Hdu 2042(水題)解題報告

你活的不容易,我活的不容易,他活的也不容易。不過,如果你看了下面的故事,就會知道,有位老漢比你還不容易。 重慶市郊黃泥板村的徐老漢(大號徐東海,簡稱XDH)這兩年辛辛苦苦養了不少羊,到了今年夏天,由於眾所周知的高溫乾旱,實在沒辦法解決牲畜的飲水問題,就決定把這些羊都趕到集市去賣。從黃泥板村到交易地點要經過N個

HDU-1009的解題報告

str 鏈接 scan n) 思路 AI 準備 stdio.h javabean Hdu-1009 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1009 題意:Fatmouse準備M磅的貓食,準備與貓守衛倉庫有他最愛吃的食品

杭電ACM hdu 2152 Fruit 解題報告(母函式)

Problem Description 轉眼到了收穫的季節,由於有TT的專業指導,Lele獲得了大豐收。特別是水果,Lele一共種了N種水果,有蘋果,梨子,香蕉,西瓜……不但味道好吃,樣子更是好看。 於是,很多人們慕名而來,找Lele買水果。 甚至連大名鼎鼎的HDU ACM

素數環問題解題報告

                                            Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav

Cdoj 24點遊戲解題報告

24點遊戲 Time Limit: 20 Sec Memory Limit: 256 MB 題目連線 http://acm.uestc.edu.cn/#/problem/show/1252 Description 24點就是給你一串數字,問你是否通過加減乘除括號構成24點。 沈爺覺得這個很好玩,就決定考考你

解題報告 HDU 4089 Activation

解題報告 之 HDU 4089 Activation Description After 4 years' waiting, the game "Chinese Paladin 5" finally comes out.

解題報告 HDU 4405 Aeroplane chess

解題報告 之 HDU 4405 Aeroplane chess Description Hzz loves aeroplane chess very much. The chess map contains N+1 gr

解題報告 HDU5288 OO&#39; s Sequence

bold repr frame roman efi int tom relative 記錄 解題報告 之 HDU5288 OO‘ s Sequence Description OO has got a array A of size n ,defined

hdu 5375 - Gray code(dp) 解題報告

auto 當前 width ive data -i int code original Gray code Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth

2017百度星初賽(A)1001,1005,1006解題報告

百度 src cout lose 初賽 bool amp spa span 1001 小C的倍數問題 純簽到題,求p-1的因數個數,暴力枚舉即可 1 #include<bits/stdc++.h> 2 using namespace std; 3 in

HDU 2141(二分&三分 _B題)解題報告

opened span print -c name tac str 報告 nlog 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2141 -------------------------------------------

HDU 2044(遞推&遞歸_A題)解題報告

多少 size 思路 pri pan -c mat lis log 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2044 ---------------------------------------------------

HDU 1016(DFS_B題)解題報告

兩個 oid spl string tor -s b- 個數 code 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 -------------------------------------------------

HDU 1312(DFS_C題)解題報告

spa close .cn algorithm -s for pla sin bit 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 ------------------------------------------

解題報告hdu 1073 Online Judge

字符串 turn 保留 inpu 時也 空字符串 cep span one 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1073 題目是英文,在這裏用中文顯示: 伊格內修斯正在建立一個在線法官,現在他已經研究出除法官系統以外

Hdu-1098解題報告

什麽 php break AC style %d fff font 正整數 Hdu-1098解題報告 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1098 題意:已知存在一個等式f(x)=5*x^13+13*x^5+k*a*

洛谷 P2783 有機化學神偶爾會做作弊 解題報告

ext 沒有 ron push_back line str mem 成了 info P2783 有機化學之神偶爾會做作弊 題目背景 XS中學化學競賽組教練是一個酷愛爐石的人。 有一天他一邊搓爐石一邊監考,而你作為一個信息競賽的大神也來湊熱鬧。 然而你的化競基友卻向你求助了。

解題報告 ZOJ 3329 One Person Game

解題報告 之 ZOJ 3329 One Person Game Description There is a very simple and interesting one-person game. You have