Escreva um programa para determinar se o polígono de entrada é convexo . O polígono é especificado com uma linha contendo N , o número de vértices, em seguida, N linhas que contêm o x e y coordenadas de cada vértice. Os vértices serão listados no sentido horário a partir de um vértice arbitrário.
Exemplo 1
entrada
4
0 0
0 1
1 1
1 0
saída
convex
exemplo 2
entrada
4
0 0
2 1
1 0
2 -1
saída
concave
exemplo 3
entrada
8
0 0
0 1
0 2
1 2
2 2
2 1
2 0
1 0
saída
convex
x e y são números inteiros, N <1000 e | x |, | y | <1000 . Você pode assumir que o polígono de entrada é simples (nenhuma das arestas se cruza, apenas duas arestas tocam em cada vértice). O programa mais curto vence.
"Simples" não inclui "arestas consecutivas não são colineares" ?! Além disso, mais alguns casos de teste: (0,0) (0,2) (2,2) (2,0) (1,1); e (1,1) (0,0) (0,2) (2,2) (2,0) - para testar os casos em que a localização do vértice côncavo exige o empacotamento do fim ao início.
—
21411 Peter
Esta questão está envelhecendo, mas ... Considere adicionar um exemplo côncavo com dois segmentos alinhados, por exemplo, uma modificação do exemplo 2: (0,0), (2,1), (4,2), (1,0) ( 2, -1). Eu trago isso à tona porque eu enganei o exemplo 3 sem perceber.
—
precisa