Temukan Persimpangan 2 Set dalam Notasi Interval Terpadu
Diberikan dua set bilangan real yang digambarkan sebagai gabungan interval, menampilkan deskripsi persimpangan dua set ini sebagai gabungan dari tipe interval yang sama.
Set input akan selalu terdiri dari serikat interval sehingga setiap interval dimulai dan berakhir pada bilangan bulat yang berbeda (yaitu tidak ada interval yang mengukur nol). Namun, interval yang berbeda dalam set yang sama dapat dimulai atau berakhir pada integer atau tumpang tindih yang sama.
Set output juga harus merupakan gabungan interval yang dimulai dan diakhiri pada bilangan bulat, tetapi tidak ada interval dalam output yang mungkin tumpang tindih dengan yang lain bahkan pada bilangan bulat tunggal.
Input dapat berupa apa saja yang cocok untuk bahasa pilihan Anda, asalkan terdiri dari dua daftar bilangan bulat.
Misalnya, Anda dapat mewakili set sebagai:
[-10,-4]u[1,5]u[19,20]
Atau sebagai:
[[-10,-4],[1,5],[19,20]]
Atau sebagai:
[-10,-4;1,5;19,20]
Representasi output Anda harus identik dengan representasi input Anda (kecuali bahwa itu hanya satu daftar interval, bukan dua).
Contoh / Uji kasus:
Memasukkan:
[[[-90,-4],[4,90]],[[-50,50]]]
Keluaran:
[[-50,-4],[4,50]]
Dengan kata lain, kita memotong set yang berisi semua bilangan real antara -90 dan -4 dan semua bilangan real antara 4 dan 90 dengan set yang berisi semua bilangan real antara -50 dan 50. Persimpangan adalah set yang berisi semua bilangan real antara -50 dan -4 dan semua bilangan real antara 4 dan 50. Penjelasan lebih visual:
-90~~~~~-4 4~~~~~90 intersected with
-50~~~~~~~~50 yields:
-50~-4 4~~50
Memasukkan:
"[-2,0]u[2,4]u[6,8]
[-1,1]u[3,5]u[5,9]"
Keluaran:
"[-1,0]u[3,4]u[6,8]"
Memasukkan:
[-9,-8;-8,0;-7,-6;-5,-4]
[-7,-5;-1,0;-8,-1]
Keluaran:
[-8,0]
Output Tidak Valid (meskipun mewakili set yang sama):
[-8,0;-7,-5;-5,0]
Mencetak:
Ini adalah kode-golf sehingga sumber terpendek dalam byte menang, karena berpotensi dimodifikasi oleh bonus berikut.
Bonus:
-15% jika Anda juga mendukung infinity positif dan negatif sebagai batasan interval. Anda dapat memilih token apa yang mewakili angka-angka ini. (Dan ya, infinity adalah angka di hyperreals; P)
[[[4,90],[-90,-4]],[[-50,50]]]