On vous donne un tableau / liste / vecteur de paires d'entiers représentant les coordonnées cartésiennes de points sur un plan euclidien 2D; toutes les coordonnées sont comprises entre et , les doublons sont autorisés. Trouvez l'aire de la coque convexe de ces points, arrondie à l'entier le plus proche; un point médian exact doit être arrondi à l'entier pair le plus proche. Vous pouvez utiliser des nombres à virgule flottante dans les calculs intermédiaires, mais uniquement si vous pouvez garantir que le résultat final sera toujours correct. Il s'agit de code-golf , donc le programme correct le plus court l'emporte.
L' enveloppe convexe d'un ensemble de points est l'ensemble convexe le plus petit qui contient . Sur le plan euclidien, pour tout point unique , c'est le point lui-même; pour deux points distincts, c'est la ligne qui les contient, pour trois points non colinéaires, c'est le triangle qu'ils forment, etc.
Une bonne explication visuelle de ce qu'est une coque convexe est décrite comme imaginant tous les points comme des clous dans une planche de bois, puis en étirant une bande de caoutchouc autour d'eux pour enfermer tous les points:
Quelques cas de test:
Input: [[50, -13]]
Result: 0
Input: [[-25, -26], [34, -27]]
Result: 0
Input: [[-6, -14], [-48, -45], [21, 25]]
Result: 400
Input: [[4, 30], [5, 37], [-18, 49], [-9, -2]]
Result: 562
Input: [[0, 16], [24, 18], [-43, 36], [39, -29], [3, -38]]
Result: 2978
Input: [[19, -19], [15, 5], [-16, -41], [6, -25], [-42, 1], [12, 19]]
Result: 2118
Input: [[-23, 13], [-13, 13], [-6, -7], [22, 41], [-26, 50], [12, -12], [-23, -7]]
Result: 2307
Input: [[31, -19], [-41, -41], [25, 34], [29, -1], [42, -42], [-34, 32], [19, 33], [40, 39]]
Result: 6037
Input: [[47, 1], [-22, 24], [36, 38], [-17, 4], [41, -3], [-13, 15], [-36, -40], [-13, 35], [-25, 22]]
Result: 3908
Input: [[29, -19], [18, 9], [30, -46], [15, 20], [24, -4], [5, 19], [-44, 4], [-20, -8], [-16, 34], [17, -36]]
Result: 2905
[[0, 0], [1, 1], [0, 1]]
devrait vraiment donner plutôt que . 0