Masalah happy ending (sebenarnya sebuah teorema) menyatakan hal itu
Setiap set lima titik di pesawat dalam posisi umum memiliki subset dari empat titik yang membentuk simpul dari segiempat cembung.
Masalahnya dinamai oleh Paul Erd ketika dua ahli matematika yang pertama kali menangani masalah tersebut, Ester Klein dan George Szekeres, bertunangan dan kemudian menikah.
Klarifikasi:
- Posisi umum di sini berarti bahwa tidak ada tiga titik yang collinear.
Segi empat yang dibentuk oleh empat simpul akan selalu dianggap non-berpotongan, terlepas dari urutan poin. Sebagai contoh, mengingat empat poin
[1 1]
,[1 2]
,[2 1]
,[2 2]
yang segiempat dimaksudkan adalah persegi, bukan kupu-kupu:Quadrilateral non-berpotongan adalah cembung jika tidak ada sudut interior melebihi 180 derajat; atau setara jika kedua diagonal terletak di dalam segiempat.
Tantangan
Diberikan 5 poin dengan koordinat bilangan bulat positif, menghasilkan 4 poin yang membentuk segiempat cembung.
Aturan
Jika ada beberapa solusi (yaitu, beberapa set 4 poin), Anda dapat secara konsisten memilih untuk mengeluarkan salah satu dari mereka atau semua.
Format input dan output fleksibel seperti biasa (array, daftar, daftar daftar, string dengan pemisah yang masuk akal, dll).
Golf kode, byte paling sedikit menang.
Uji kasus
Memasukkan:
[6 8] [1 10] [6 6] [5 9] [8 10]
Hanya ada satu kemungkinan output:
[6 8] [1 10] [6 6] [5 9]
Memasukkan:
[3 8] [7 5] [6 9] [7 8] [5 1]
Ada lima solusi:
[3 8] [7 5] [6 9] [7 8] [3 8] [7 5] [6 9] [5 1] [3 8] [7 5] [7 8] [5 1] [3 8] [6 9] [7 8] [5 1] [7 5] [6 9] [7 8] [5 1]
Memasukkan:
[4 8] [1 9] [9 9] [10 2] [1 6]
Ada tiga solusi:
[4 8] [1 9] [10 2] [1 6] [4 8] [9 9] [10 2] [1 6] [1 9] [9 9] [10 2] [1 6]
Sebagai ilustrasi, berikut adalah tiga solusi untuk kasus ini: