Mamy obiekty, które oscylują między dwoma punktami całkowitymi, [l, r]
z prędkością jednej jednostki na jednostkę czasu, zaczynając l
od t=0
. Możesz założyć l < r
. Na przykład, jeśli obiekt oscyluje dalej [3, 6]
, mamy:
t=0 -> 3
t=1 -> 4
t=2 -> 5
t=3 -> 6
t=4 -> 5
t=6 -> 4
t=7 -> 3
t=8 -> 4
Itd. Ale obiekty oscylują w sposób ciągły, więc mamy również t=0.5 -> 3.5
i t=3.7 -> 5.3
.
Biorąc pod uwagę, że dwa obiekty oscylują między [l1, r1]
, [l2, r2]
określ, czy kiedykolwiek istnieje t
taki czas , że oba obiekty mają tę samą pozycję. Ty sprawiają podjąć l1, r1, l2, r2
w dowolnym, wygodnym formacie, a wyjście żadnych truthy / wartości falsy.
Prawdziwe dane wejściowe:
[[3, 6], [3, 6]]
[[3, 6], [4, 8]]
[[0, 2], [2, 3]]
[[0, 3], [2, 4]]
[[7, 9], [8, 9]]
Fałszywe dane wejściowe:
[[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
źródło
źródło
0
i rzeczywiście dowolną liczbą całkowitą dodatnią, czy też musi być spójna. Co więcej, czy fałszem może być pusta lista, a tak naprawdę dowolna niepusta lista?[[1,3],[2,6]]
fałszowania to: fałszuje heurystykę „odstępy nakładają się i nie są tej samej długości”.Odpowiedzi:
Python 2 , 69 bajtów
Wypróbuj online!
źródło
Łuska , 13 bajtów
Pobiera dane wejściowe w formacie
[[l,r],[L,R]]
. Zwraca0
dla instancji fałszywych i dodatnia liczba całkowita dla instancji zgodnych z prawdą. Wypróbuj online!Wyjaśnienie
Główne pomysły to
Oto kod z adnotacjami.
źródło
JavaScript (ES6),
104100 bajtówNaiwna implementacja, która po prostu uruchamia symulację. Trwa (a, b, c, d) jako 4 różne zmienne.
Przypadki testowe
Pokaż fragment kodu
źródło
Wolfram Language (Mathematica) ,
776961 bajtówCzysta funkcja przyjmująca cztery argumenty
l1, r1, l2, r2
jako dane wejściowe: np.[0,3,2,4]
Kiedy przedziały są[0,3]
i[2,4]
.Wypróbuj online!
Jak to działa
Aby uzyskać punkt
[a,b]
bliski punktu[c,d]
, zakładająca<c<b<d
, że chcemy uzyskać nieparzystą wielokrotność wb-a
obrębieb-c
parzystej wielokrotnościd-c
. Jeślib-a
ma więcej czynników2
niżd-c
, możemy sprawić, że stanie się to dokładnie: nadejdzie czas, kiedy pierwszy punkt będzie w,b
a drugi punkt wc
, a następnie będziemy w dobrej formie. Jeśli nie, to najlepsze, co możemy zrobić, to GCD zb-a
id-c
.źródło
JavaScript (ES6), 89 bajtów
Przyjmuje się
l1,r1,l2,r2
za osobne argumenty. Objaśnienie: Symulacja gwarantuje powtórzenie po(r1-l1)*(r2-l2)*2
jednostkach czasu (lub ich współczynniku);g
oblicza przesunięcie odpowiedniego obiektu poi/2
jednostkach czasu, więci
musi być w zakresie do(r1-l1)*(r2-l2)*4
.źródło
05AB1E ,
121014 bajtów+4 bajty do obsługi ujemnych zakresów
Zwraca 0, jeśli fałsz, lub dodatnią liczbę całkowitą w przeciwnym razie
Wykorzystaj pomysł Zgarba na podwojenie wartości, aby ułatwić wykrywanie tej samej pozycji
Dzięki @ Zacharý za wskazanie moich błędów
Wypróbuj online!
Objaśnienia:
źródło
[[0,n],[n-1, n]]
a nawet w takim przypadku druga lista byłaby powtarzana wystarczająco długo (i więcej), aby pierwsza osiągnęła górną granicę. Ale zapomniałem wziąć pod uwagę liczby ujemne:[[-100, 1], [0, 1]]
nie działa. Naprawienie go kosztem 4 bajtów :-(Java (OpenJDK 8) , 81 bajtów
Wypróbuj online!
Ponowne użycie algorytmu Python xnor .
źródło