Bouldering#3546

Bouldering

8 saniyə
32 meqabayt
Çox çətin

Bouldering qayaya dırmanmanın bir növüdür. Boulderlər (dırmananlar) qayaya çılpaq əllərlə, iplərlə dəstək olmadan dırmanırlar. Dostunuz bunun maraqlı və həyəcanlı olacağını düşündü, ona görə də bouldering zalını sınaq qərarına gəldi. Dostunuz boulderingi əvvəllər sına­mamışdı, buna görə də yeni başlayanlar üçün kurs seçdi. Lakin, yeni başlayanlar kursunda bəzi qayalar bir-birindən çox uzaqda idi, bu da bütün qayalara təhlükəsiz çatmağı çətinləşdirirdi. O, get-gedə narahat oldu və kursun həqiqətən yeni başlayanlar üçün uyğundurmu deyə şübhələndi. Buna görə də sizdən onun dırmanma tərzini simulasiya edən və hədəf qayaya uğurla çatıb-çata bilməyəcəyini yoxlayan proqram yazmağınızı xahiş etdi.

Rahatlıq üçün fərz edirik ki, boulderer 5 xətt parçasından ibarətdir: gövdəsi, sağ qolu, sol qolu, sağ ayağı və sol ayağı.

Onun gövdəsinin bir ucu qollarının ucları ilə birləşir. Gövdənin digər ucu isə ayaqlarının ucları ilə birləşir. Onun gövdəsinin, qollarının və ayaqlarının maksimal uzunluqları müvafiq olaraq , , -dir. O, dırmanarkən bədən hissələrinin uzunluğunu -dan maksimal uzunluğa kimi dəyişməyə və onları istənilən bucaqda ( dərəcə) döndərməyə qadirdir. Mümkün bədən quruluşlarını təsvir edən aşağıdakı şəkilə baxın.

Şəkil 1: Mümkün bədən düzülüşünə dair bir nümunə.

Gövdə, qollar və ayaqları təmsil edən 5 xətt parçası. Gövdə, qollar və ayaqların uzunluqları müvafiq olaraq , və -dür. Rəsm baş daha aydın görünsün deyə dolu dairə ilə göstərilib, lakin bu məsələdə bunun heç bir əhəmiyyəti yoxdur.

Boulderer divara dırmaşmaq üçün əlləri və ayaqları ilə ən azı üç fərqli qayadan tutmalıdır. Başlanğıc vəziyyətdə o, əlləri və ayaqları ilə qayadan tutur. Sonra qollarını və ya ayaqlarını hərəkət etdirərək tutduğu qayalardan birini dəyişir. Bu bir hərəkət hesab olunur. Onun məqsədi "hədəf qaya" adlanan qayadan bədən hissələrindən biri ilə tutmaqdır. Qayalar ölçüsünə əhəmiyyət vermədən nöqtə kimi qəbul olunur. Sizdən bu hədəf qayaya çatmaq üçün lazım olan minimal hərəkət sayını hesablayan proqram yazmaq tələb olunur.

Giriş

Giriş məlumatı aşağıdakı kimi qurulub:

x_1\ y_1 x_2\ y_2 x_n\ y_n

Birinci sətirdə (5 \leq n \leq 30) verilir — qayaların sayı.

İkinci sətirdə üç tam ədəd , , (1 \leq A, B, C \leq 50) verilir — dırmananın gövdə, qol və ayaq uzunluqları.

Daha sonrakı sətirin hər birində x_i və y_i (0 \leq x_i, y_i \leq 100) — -ci qayaların koordinatları verilir.

Başlanğıc vəziyyətdə boulderer sağ əli ilə -ci, sol əli ilə -ci, sağ ayağı ilə -cü, sol ayağı ilə -cü qayadan tutur.

Qəbul edə bilərsiniz ki, ilk qaya bouldererin belə tutmasını mümkün edəcək qədər yaxındır.

Sonuncu qaya hədəf qayadır.

Çıxış

Proqramınız hədəf qayaya çatmaq üçün tələb olunan minimal hərəkət sayını çap etməlidir.

Əgər hədəf qayaya çatmaq mümkün deyilsə, -1 çap edin.

Qəbul edə bilərsiniz ki, , , -dən az dəyişsə, cavab dəyişməz.

Aşağıdakı şəkillər bouldererin minimum hərəkətlərlə hədəf qayaya necə çatmasının nümunələrini göstərir. Qeyd edək ki, minimum hərəkət sayı fərqli yollarla, bədən hissələrini qısaldıb-uzatmaq, hissələri döndərmək və s. ilə əldə oluna bilər.

Şəkil 2: Nümunə üçün minimum hərəkət nümunəsi.

Şəkil 3: Nümunə üçün minimum hərəkət nümunəsi.

Nümunələr

Nümunə 1

Loading
Loading