Podziel pierwszą ćwiartkę (w tym dodatnią oś x, dodatnią oś y i początek) na siatki 1x1, przy czym każda siatka jest oznaczona współrzędnymi jej lewego dolnego rogu, jak pokazano poniżej:
Zauważ, że każda siatka zawiera swoje granice i wierzchołki. Używając symboli matematycznych, siatka oznaczona (m, n) reprezentuje kwadrat {(x,y) | m ≤ x ≤ m+1, n ≤ y ≤ n+1}
.
Biorąc pod uwagę linię prostą w postaci ax+by+c=0
liczb całkowitych a
, b
i c
siatkę reprezentowaną przez (m,n)
, wypisz, czy linia przechodzi przez siatkę, tj. Czy którykolwiek punkt na danej siatce znajduje się na linii.
a b c m n output
1 1 0 0 0 true
1 1 0 1 1 false
1 1 0 0 2 false
1 1 -3 0 1 true
1 1 -3 0 0 false
2 -1 0 1 1 true
2 -1 0 1 0 false
2 -1 0 0 2 true
2 -1 0 0 1 true
2 -1 0 1 2 true
2 0 -1 0 0 true
2 0 -1 0 1 true
2 0 -1 0 2 true
2 0 -1 1 0 false
2 0 -1 1 1 false
0 2 -1 0 0 true
0 2 -1 1 0 true
0 2 -1 2 0 true
0 2 -1 0 1 false
0 2 -1 1 1 false
1 0 -1 0 0 true
1 0 -1 0 1 true
1 0 -1 0 2 true
1 0 -1 1 0 true
1 0 -1 1 1 true
Proszę sugerować więcej przypadków testowych w komentarzach.
To jest golf golfowy . Najkrótsza odpowiedź w bajtach wygrywa. Obowiązują standardowe luki .
[a, b, c]
(linia) i [m, n]
(kwadrat)?