Afina Mess
Tess L. Ation keçən həftə yeni rəsm proqramının beta versiyasını nümayiş etdirərkən kiçik bir problem yaşadı. Ekranda proqramın hər bir xüsusiyyətini nümayiş etdirən zərif bir dizayn var idi; bunu hazırlamaq ona saatlar çəkmişdi. O, potensial investorlar qrupunun nümayişi izləmək üçün otağa daxil olduğu zaman dizaynına son toxunuşları edirdi.
Təqdimat yaxşı keçdi. Təqdimatın sonunda Tess idarə panelindəki bir düyməni basdı və auditoriyasına dedi: "Bu, 'şəbəkəyə yapışma' idarəsidir. Bu, zirvələr kimi idarə nöqtələrini ən yaxın şəbəkə nöqtəsinə sıçramağa məcbur edir. Burada, sizə göstərim," və ekranda üç parlaq qırmızı nöqtə yerləşdirdi. Hər biri onun kliklədiyi yerə ən yaxın şəbəkə nöqtəsində göründü. ("Xoşbəxtlikdən demo dizaynımdakı bütün idarə nöqtələri artıq tam ədədi koordinatlarda idi. Amma bu üç qırmızı nöqtəni diaqramımı yadda saxlamadan əvvəl silməyi unutmamalıyam," o, öz-özünə düşündü.) "İndi mən növbəti otağa keçəcəyəm və sizə sistem haqqında müzakirə aparmaq və ekrana daha yaxından baxmaq üçün yer verəcəyəm, amma xahiş edirəm heç nəyə toxunmayın, çünki mən hələ bu faylı yadda saxlamamışam."
Bir neçə dəqiqə sonra qrup Tessə qoşuldu. Ziyarətçilərdən biri Tessə yaxınlaşdı və dedi: "Ümid edirəm ki, etiraz etməzsiniz, amma mən özüm də yoxlamaq istədim. Narahat olmayın, mən sadəcə x-ölçək və y-ölçək idarələrini bir az oynadım." Növbəti şəxs dedi: "Bu problem deyilsə üzr istəyirəm, amma mən həqiqətən ekranın sürətini hiss etmək istədim, ona görə də sadəcə tərcümə aləti ilə oynadım." Üçüncü şəxs dedi: "Mən sadəcə kiçik bir testi edə bilmədim: şəkli fırlatdım ki, fırlatmadan sonra bütün zirvələrin ən yaxın şəbəkə nöqtələrinə yapışdığını görə bilim."
Fırlatma aləti ilə oynayan şəxs birinci getdiyini xatırladı, amma digər ikisi öz sıralarını xatırlaya bilmədi. Üçü də dəyişikliklərin yalnız bir neçə təfərrüatını xatırladı. x- və y-ölçək faktorları (mümkün mənfi) sıfırdan fərqli tam ədədlər olmuşdu; ölçək mərkəzi mənşə (0, 0) idi. x- və y-tərcümə miqdarları tam ədədlər olmuşdu. Fırlatma kvadratın mərkəzində mənşə olan eni 20 olan kvadratın perimetri üzərində tam ədədi koordinatları olan bir nöqtə ilə (x, y) təyin edilmişdi (buna görə də, -10 ≤ x, y ≤ 10 və x və ya y və ya hər ikisinin mütləq dəyəri 10 idi). Alət şəkli mənşə ətrafında fırlatdı ki, müsbət x-oxu sonradan (x, y) nöqtəsindən keçsin. Fırlatmadan sonra yapışma baş verdi (tam ədədi olmayan hissəsi 0.5 olan koordinatlar sıfırdan uzaqlaşdırıldı).
Onlar getdikdən sonra Tess dizaynına baxdı – tamamilə dəyişmişdi! O, hələ "geri al" funksiyasını tətbiq etməmişdi və nümayiş vermədən əvvəl diaqramı yadda saxlamamışdı. Lakin, üç eyni qırmızı nöqtə hələ də orada idi (əlbəttə ki, digər tam ədədi şəbəkə yerlərinə çevrilmişdi) və Tess onların əvvəlcə yerləşdirdiyi tam ədədi koordinatları xatırlaya bilirdi. Aydındır ki, başqa biri də şəkli dəyişdirə bilərdi, amma o, dəyişikliklərin ardıcıllığını bərpa etməyin mümkün olub-olmadığını görmək üçün bir proqram yaza bilərdi. Siz də edə bilərsinizmi?
Giriş verilənləri
Giriş bir neçə test halını ehtiva edir. Hər bir test halı altı cüt tam ədəd x_i və y_i (-500 ≤ x_i, y_i ≤ 500 üçün 1 ≤ i ≤ 6) təşkil edir, hər bir giriş xətti üçün üç cüt. İlk üç cüt üç qırmızı nöqtənin fərqli ilkin yerlərini təmsil edir. Son üç cüt nöqtələrin fərqli son yerlərini təmsil edir. Hər üçlükdəki cütlərin indeksləşdirilməsi əhəmiyyətli deyil: məsələn, (x_1, y_1) (x_4, y_4), (x_5, y_5) və ya (x_6, y_6) ilə xəritələndirilə bilərdi.
Son test halı altı sıfırdan ibarət bir xətt ilə izlənir.
Çıxış verilənləri
Hər bir test halı üçün, onun hal nömrəsini və aşağıdakı üç mesajdan birini göstərin:
"ekvivalent həllər" bir və ya daha çox etibarlı çevrilmələrin olduğunu və onların hamısının bütün şəkil üzərində eyni təsirə malik olduğunu göstərmək üçün (şəklin necə göründüyündən asılı olmayaraq).
"uyğunsuz həllər" bir neçə etibarlı çevrilmənin olduğunu, lakin ümumiyyətlə onların hamısının bütün şəkili eyni şəkildə xəritələndirmədiyini göstərmək üçün (bəzi şəkil iki etibarlı çevrilmə ilə fərqli şəkildə xəritələndirilir).
"həll yoxdur" ilk iki halın heç birinin baş vermədiyini göstərmək üçün.
Etibarlı çevrilmə, yuxarıda təsvir olunan məhdudiyyətlərə cavab verən və ilkin qırmızı nöqtələr dəstini son dəstə xəritələndirən fırlatma, tərcümə və ölçək (və ya fırlatma, ölçək və tərcümə) birləşməsidir.
Nümunə çıxış formatına əməl edin.