Вхідні дані
Два списки A
та B
невід’ємні цілі числа.
Вихідні дані
Або 1
, 0
або -1
, залежно від того A
, більший, рівний чи менший, ніж B
щодо скрученого лексикографічного впорядкування, як визначено нижче. Якщо ви хочете, ви можете замінити 1
, 0
і -1
з будь-якими іншими трьома значеннями постійних.
Скручене лексикографічне впорядкування схоже на звичайне лексикографічне впорядкування, оскільки ви порівнюєте список елементів за елементами і визначаєте їх порядок за першим різним показником. Однак у скрученій версії ми використовуємо інше впорядкування для негативних цілих чисел у кожному індексі. А саме, при кожному індексі i
(індексація починається з 1
) порядок перших i
невід’ємних цілих чисел (від 0
до i-1
) змінюється на зворотному напрямку, і вони переміщуються вище всіх інших чисел. Більше того, "відсутній елемент", який означає, що один список коротший, ніж інший, переміщується прямо внизу i-1
. Візуально порядок за індексом i
є
i < i+1 < i+2 < i+3 < ... < [missing element] < i-1 < i-2 < i-3 < ... < 2 < 1 < 0
Зауважимо, що перший ...
позначає нескінченно багато цифр. Це означає, що наступні списки складаються у порядку зростання щодо скрученого лексикографічного впорядкування:
[3,2,3,4]
[3,2,3,5]
[3,2,3,10]
[3,2,3,1341]
[3,2,3]
[3,2,3,3]
[3,2,3,2]
[3,2,3,1]
[3,2,3,0]
Правила
Ви можете надати повну програму або функцію. Виграє найменший байт, а стандартні лазівки заборонені.
Випробування
Output 1:
[0] []
[] [1]
[] [1,2,1,2]
[2,1] [1,1]
[0,1,2] [0,2,1]
[3,0] [3,1]
[3,1] [3]
[2] [2,2]
[2] [2,23]
[2,24] [2,23]
[2,1] [2,23]
Output 0:
[] []
[0] [0]
[1,1] [1,1]
[2,1,2] [2,1,2]
Output -1:
[1,2,1,1,2] [1,2,1,1,1]
[1,2,1,1,5] [1,2,1,1,4]
[1,2,1,1,5] [1,2,1,1]
[1,2,1] [1,2,1,1]
[1,2,1,1,5] [1,2,1,1,6]
[1,2,1,1,6] [1,2,1,1,7]