(Я мав намір опублікувати це під час 1542: Конфлікт планування все ще був поточним xkcd, але у мене виник конфлікт планування.)
Вхідні дані
Вхідним записом буде список 3nелементів, які представляють nподії. Першим елементом у кожній групі з 3 буде назва події; другий і третій, час початку і закінчення відповідно. Наприклад:
foo 12 34 bar 56 78
являє собою подію, fooяка починається в "час 12" (час представлений просто цілими числами; ви можете вважати їх як хвилини минулої півночі) і закінчується о 34, а друга подія, barяка починається в 56 і закінчується в 78.
Назви подій завжди будуть складатися лише з буквено-цифрових символів, а часи завжди будуть цілими числами ≥ 0 та <1440. Час закінчення завжди буде принаймні на 1 більший, ніж час початку. Їх не гарантують будь-яким чином сортувати.
Якщо ви хочете, ви можете прийняти це як єдиний пробіл, розділений пробілом; інакше його слід сприймати як масив, список, вектор або еквівалент вашої мови.
Вихідні дані
Вихід повинен бути розділеним пробілом списком імен подій. Правила, за якими слід виводити назви подій:
Жодна з подій, які ви виводили, не може суперечити один одному. Наприклад, за допомогою введення
a 0 10 b 5 15ви не можете виводити і те,aіbтому, що часи конфліктують (тобто частково перетинаються). Якщо подія закінчується точно так, як починається інша, ви можете включити обидва.Ви не можете виводити подію під назвою
NSCC("Конкурс національних конфліктів з планування"), з яких у вході завжди буде точно одна. Ви також повинні вивести принаймні одну подію, яка конфліктує (частково перекривається)NSCC(і завжди буде також хоча б одна з них).Ви повинні вивести якомога більше подій, дотримуючись вищевказаних двох правил. (Це так, що ви виглядаєте максимально зайнятими, так що відсутність NSCC здається більш надійною.)
Це також може бути виведено як окремий рядок, розділений пробілом, або масив, список, вектор тощо.
Може бути більше одного можливого виходу.
Тестові справи
Зауважте, що наведені результати є лише прикладами. Ваш код може виводити щось інше, якщо він все-таки дотримується трьох вищезазначених правил (зокрема, це означає, що має бути така ж кількість подій, як приклад).
В: UnderwaterBasketWeavingConvention 50 800 NSCC 500 550
Вихід:UnderwaterBasketWeavingConvention
В: SconeEating 0 50 RegexSubbing 45 110 CodeGolfing 95 105 NSCC 100 200
Вихід:SconeEating CodeGolfing
В: VelociraptorHunting 0 300 NerdSniping 200 500 SEChatting 400 700 DoorknobTurning 650 750 NSCC 725 775
Вихід:NerdSniping DoorknobTurning
В: NSCC 110 115 A 100 120 B 120 140 C 105 135 D 100 105 E 135 500
Вихід:C D E
В: A 800 900 NSCC 700 1000 B 650 750 C 950 1050 D 655 660 E 660 665 F 1030 1040 G 1040 1060
Вихід:A D E F G
В: A 10 11 B 11 12 C 12 13 D 13 14 NSCC 15 1090 E 10 16
Вихід:E
Не соромтеся додавати більше тестових випадків у редагування, якщо є випадки, які я пропустив.
Правила
Ваш код повинен заповнитись протягом 30 секунд для всіх наданих тестових випадків (це більше перевірка добросовісності, оскільки, ймовірно, має бути виконана набагато швидше для всіх тестових випадків разом) на розумній персональній машині.
Це код-гольф , тому виграє найкоротший код у байтах.

underwaterBasketWeavingConvention 50 800 nscc 550замість вашого прикладу?