вход
Два списка 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]