(Saya bermaksud memposting ini sementara 1542: Konflik Penjadwalan masih xkcd saat ini, tetapi saya memiliki konflik penjadwalan.)
Memasukkan
Input akan menjadi daftar 3nelemen, yang mewakili nacara. Elemen pertama dalam setiap kelompok 3 akan menjadi nama acara; yang kedua dan ketiga, waktu mulai dan berakhir. Sebagai contoh:
foo 12 34 bar 56 78
mewakili suatu peristiwa fooyang dimulai pada "waktu 12" (waktu diwakili hanya dengan bilangan bulat; Anda dapat menganggapnya sebagai menit lewat tengah malam) dan berakhir pada 34, dan acara kedua baryang dimulai pada 56 dan berakhir pada 78.
Nama-nama peristiwa akan selalu hanya terdiri dari karakter alfanumerik, dan waktu akan selalu menjadi bilangan bulat ≥ 0 dan <1440. Waktu akhir akan selalu setidaknya 1 lebih besar dari waktu mulai. Mereka tidak dijamin untuk disortir dengan cara apa pun.
Jika Anda mau, Anda bisa menganggap ini sebagai string yang dipisahkan oleh spasi; jika tidak, harus diambil sebagai array, daftar, vektor, atau setara bahasa Anda.
Keluaran
Outputnya harus berupa daftar nama acara yang dipisahkan oleh ruang. Aturan yang akan menampilkan nama acara adalah sebagai berikut:
Tak satu pun dari peristiwa yang Anda hasilkan dapat saling bertentangan. Misalnya, dengan input
a 0 10 b 5 15, Anda mungkin tidak menampilkan keduanyaadanbkarena konflik kali (yaitu tumpang tindih sebagian). Jika suatu acara berakhir persis seperti yang lain dimulai, Anda dapat memasukkan keduanya.Anda tidak boleh menampilkan acara yang disebut
NSCC("Kompetisi Konflik Penjadwalan Nasional"), yang akan selalu ada persis satu di input. Anda juga harus menampilkan setidaknya satu peristiwa yang bertentangan (sebagian tumpang tindih) denganNSCC(dan akan selalu ada setidaknya satu di antaranya).Anda harus menampilkan sebanyak mungkin peristiwa sambil mengikuti dua aturan di atas. (Ini agar Anda terlihat sesibuk mungkin, sehingga kehilangan NSCC tampaknya lebih kredibel.)
Ini juga dapat berupa output sebagai string yang dipisahkan oleh spasi atau array, daftar, vektor, dll.
Mungkin ada lebih dari satu kemungkinan hasil.
Uji kasus
Perhatikan bahwa output yang tercantum hanya contoh. Kode Anda dapat menampilkan sesuatu yang berbeda, selama masih mengikuti tiga aturan di atas (terutama, ini berarti harus ada jumlah peristiwa yang sama dengan contoh).
Masuk: UnderwaterBasketWeavingConvention 50 800 NSCC 500 550
Keluar:UnderwaterBasketWeavingConvention
Masuk: SconeEating 0 50 RegexSubbing 45 110 CodeGolfing 95 105 NSCC 100 200
Keluar:SconeEating CodeGolfing
Masuk: VelociraptorHunting 0 300 NerdSniping 200 500 SEChatting 400 700 DoorknobTurning 650 750 NSCC 725 775
Keluar:NerdSniping DoorknobTurning
Masuk: NSCC 110 115 A 100 120 B 120 140 C 105 135 D 100 105 E 135 500
Keluar:C D E
Masuk: A 800 900 NSCC 700 1000 B 650 750 C 950 1050 D 655 660 E 660 665 F 1030 1040 G 1040 1060
Keluar:A D E F G
Masuk: A 10 11 B 11 12 C 12 13 D 13 14 NSCC 15 1090 E 10 16
Keluar:E
Jangan ragu untuk menambahkan lebih banyak kasus uji dalam edit jika ada kasus tepi yang saya lewatkan.
Aturan
Kode Anda harus selesai dalam waktu 30 detik untuk semua kasus uji yang disediakan (ini lebih merupakan pemeriksaan kewarasan, karena mungkin harus menyelesaikan lebih cepat untuk semua kasus uji yang digabungkan) pada mesin pribadi yang masuk akal.
Ini adalah kode-golf , jadi kode terpendek dalam byte menang.

underwaterBasketWeavingConvention 50 800 nscc 550bukan contoh Anda?