У нас есть объекты, которые колеблются между двумя целочисленными точками [l, r]
со скоростью одна единица за единицу времени, начиная с l
on t=0
. Вы можете предположить l < r
. Например, если объект колеблется [3, 6]
, тогда мы имеем:
t=0 -> 3
t=1 -> 4
t=2 -> 5
t=3 -> 6
t=4 -> 5
t=6 -> 4
t=7 -> 3
t=8 -> 4
И т.д. Но объекты колеблются непрерывно, поэтому у нас также есть t=0.5 -> 3.5
и t=3.7 -> 5.3
.
Учитывая, что два объекта колеблются между [l1, r1]
, [l2, r2]
определяют, существует ли когда-либо такое время t
, когда два объекта занимают одну и ту же позицию. Вы берете взятие l1, r1, l2, r2
в любом удобном формате и выводите любые истинные / ложные значения.
Истинные входы:
[[3, 6], [3, 6]]
[[3, 6], [4, 8]]
[[0, 2], [2, 3]]
[[0, 3], [2, 4]]
[[7, 9], [8, 9]]
Ложные входы:
[[0, 3], [3, 5]]
[[0, 2], [2, 4]]
[[5, 8], [9, 10]]
[[6, 9], [1, 2]]
[[1, 3], [2, 6]]
code-golf
array-manipulation
decision-problem
code-golf
math
number-theory
palindrome
integer-partitions
code-golf
math
decision-problem
geometry
code-golf
string
random
code-golf
ascii-art
code-golf
kolmogorov-complexity
primes
code-golf
kolmogorov-complexity
code-golf
graphical-output
code-golf
number-theory
primes
integer
factoring
code-golf
sequence
array-manipulation
integer
code-golf
array-manipulation
matrix
code-golf
sequence
binary
code-golf
game
cellular-automata
game-of-life
binary-matrix
code-golf
string
ascii-art
code-golf
random
generation
logic
code-golf
string
code-golf
code-golf
sequence
array-manipulation
random
apl
code-golf
code-golf
sequence
primes
code-golf
math
sequence
integer
code-golf
number
arithmetic
array-manipulation
decision-problem
code-golf
ascii-art
number
code-golf
restricted-source
quine
code-golf
chess
board-game
code-golf
math
sequence
code-golf
number
sequence
kolmogorov-complexity
code-golf
number
sequence
arithmetic
code-golf
math
number
alphabet
code-golf
ascii-art
classification
statistics
apl
code-golf
array-manipulation
matrix
code-golf
string
kolmogorov-complexity
code-golf
sequence
binary
base-conversion
binary-matrix
code-golf
string
classification
code-golf
tips
python
code-golf
combinatorics
binary
subsequence
restricted-time
code-golf
number
number-theory
code-golf
math
number
complex-numbers
code-golf
string
code-golf
string
code-golf
string
random
game
king-of-the-hill
python
code-golf
number
sequence
code-golf
number
sequence
code-golf
code-golf
math
number
array-manipulation
code-golf
array-manipulation
decision-problem
code-golf
string
code-golf
sequence
integer
orlp
источник
источник
0
правдивым целым положительным числом или оно должно быть последовательным. Более того, может ли ложь быть пустым списком, а правдивым - непустым списком?[[1,3],[2,6]]
: это искажает эвристику «интервалы перекрываются и имеют разную длину».Ответы:
Python 2 , 69 байт
Попробуйте онлайн!
источник
Шелуха , 13 байт
Принимает ввод в формате
[[l,r],[L,R]]
. Возвращает0
для ложных случаев и положительное целое для истинных случаев. Попробуйте онлайн!объяснение
Основные идеи
Вот аннотированный код.
источник
JavaScript (ES6),
104100 байтНаивная реализация, которая просто запускает симуляцию. Принимает (a, b, c, d) в качестве 4 различных переменных.
Контрольные примеры
Показать фрагмент кода
источник
Wolfram Language (Mathematica) ,
776961 байтЧистая функция, принимающая четыре аргумента в
l1, r1, l2, r2
качестве входных данных: например,[0,3,2,4]
когда интервалы[0,3]
и[2,4]
.Попробуйте онлайн!
Как это устроено
Чтобы получить точку,
[a,b]
близкую к точке, в[c,d]
предположенииa<c<b<d
, что мы хотим иметь нечетное кратное вb-a
пределахb-c
четного кратногоd-c
. Еслиb-a
есть больше факторов,2
чемd-c
, мы можем сделать это точно: будет время, когда первая точка находится на,b
а вторая точка наc
, и тогда мы в хорошей форме. Если нет, то лучшее, что мы можем сделать, это GCDb-a
иd-c
.источник
JavaScript (ES6), 89 байт
Принимает в
l1,r1,l2,r2
качестве отдельных аргументов. Пояснение: симуляция гарантированно будет повторяться через(r1-l1)*(r2-l2)*2
единицу времени (или ее коэффициент);g
вычисляет смещение соответствующего объекта черезi/2
единицу времени, поэтомуi
необходимо увеличить до(r1-l1)*(r2-l2)*4
.источник
05AB1E ,
121014 байтов+4 байта для обработки отрицательных диапазонов
Возвращает 0, если ложь, или положительное целое число в противном случае
Используйте идею Згарба об удвоении значений, чтобы упростить обнаружение одной и той же позиции
Спасибо @ Zacharý за указание на мои ошибки
Попробуйте онлайн!
Пояснения:
источник
[[0,n],[n-1, n]]
и даже в этом случае второй список будет повторяться достаточно много раз (и более), чтобы первый достиг своей верхней границы. Но я забыл учесть отрицательные числа:[[-100, 1], [0, 1]]
не работает. Исправление это стоило 4 байта :-(Java (OpenJDK 8) , 81 байт
Попробуйте онлайн!
Повторное использование алгоритма xnor Python .
источник