Alic və Bomba#3308

Alic və Bomba

30 saniyə
256 meqabayt
Asan

Alic şəhərdədir və qəfildən yaxınlıqda şübhəli görkəmli bir çanta aşkar edir. Çanta tıqqıltılı bir səs çıxarmağa başlayır və Alic qorxur ki, orada bomba ola bilər. Xoşbəxtlikdən, bomba hələ partlamayıb və Alicin qaçıb bir binanın arxasında gizlənməsi üçün kifayət qədər vaxt ola bilər.

ACM şəhəri sonsuz bir müstəvi kimi modelləşdirilmişdir, burada hər bir bina bir çoxbucaqla təmsil olunur. Alic bir nöqtə kimi götürülür. Partlayış nəticəsində yaranan şok dalğası, əgər Alislə bombanı birləşdirən düz xətt parçası heç bir binanın daxilindən keçməzsə, Alice çata bilər. Fərz edin ki, bombanın partlaması nəticəsində yaranan dalğa sonsuz sürətlə yayılır: partlayış baş verəndə dalğa istənilən yerə dərhal çatacaq, təkcə yolunda binanın divarı maneə olmazsa.

Aşağıdakı şəkildə bir bomba partlayışı ssenarisi təsvir olunub. Soldakı şəkildə bomba və binalar (qara rəngli çoxbucaqlılar) göstərilmişdir. Sağdakı şəkildə isə partlayış dalğasının təsir etdiyi sahə (boz rəngli kölgələrlə) işarələnib.

Şəkil 1: Bomba partlayışına nümunə

Diqqət yetirin ki, əgər Alislə bombanı birləşdirən xətt parçası yalnız binanın sərhədinə toxunsa belə, şok dalğası yenə də Alice çata bilər. Alic mümkün qədər tez qaçmaq istədiyi üçün binanın arxasında gizlənmək üçün qaçmalı olduğu məsafəni minimuma endirməyə çalışır.

Sizin vəzifəniz — Alisin, bombanın və binaların yerləri verildikdə, Alicin təhlükəsiz şəkildə bir binanın arxasında gizlənməsi üçün qaçmalı olduğu minimal məsafəni hesablamaq proqramı yazmaqdır.

Giriş

Girişdə bir neçə test var. Hər test aşağıdakı formatda verilir:

N bx by m_1 x_{1,1} y_{1,1} ... x_{1,m1} y_{1,m1} ... m_N x_{N,1} y_{N,1} ... x_{N,mN} y_{N,mN}

Hər testin birinci sətrində bir tam ədəd N (1 ≤ N ≤ 100) — binaların sayı verilir. İkinci sətrdə iki tam ədəd bx və by (−10000 ≤ bx, by ≤ 10000) — bombanın koordinatları. Sonra isə ardıcıl olaraq N bina təsvir olunur.

Hər bina künc nöqtələri ilə verilmiş çoxbucaqlıdır. Hər sətrdə bir tam ədəd m_i (3 ≤ m_i ≤ 100, m_i ≤ 500) — çoxbucaqlının künclərinin sayı və ardınca m_i ədəd koordinat cütü x_{i,j}, y_{i,j}, nöqtələrin koordinatları verilir.

Aşağıdakilari fərz edə bilərsiniz:

  • Çoxbucaqlılar öz-özünü kəsmir.

  • Heç bir iki çoxbucaq ortaq nöqtəyə malik deyil.

  • Koordinatlar saat əqrəbinin əksi istiqamətində verilib.

  • Alicin və bombanın ilkin mövqeləri heç bir çoxbucaqlının içində deyil.

  • Bomba heç bir çoxbucaqlının kənarlarının sonsuz uzantısı üzərində yerləşmir.

Alicin ilkin mövqeyi (0, 0)-dır. Mümkün ola bilər ki, Alice ilkin anda bir çoxbucaqlının sərhədində yerləşir.

N = 0 girişin sonunu bildirir. Bu, test kimi işlənməməlidir.

Çıxış

Hər bir test üçün bir sətirdə, Alicin təhlükəsiz şəkildə bir binanın arxasında gizlənməsi üçün qaçmalı olduğu minimal məsafəni ekrana çıxarın. Cavabınızın mütləq və ya nisbi səhvi 10^{−6}-dan az olmalıdır.

Nümunələr

Nümunə 1

Loading
Loading