Python Proqramçılarını Xilas Edin!#3373

Python Proqramçılarını Xilas Edin!

1 saniyə
64 meqabayt
Çox çətin

Post-apokaliptik Kaliforniyada yalnız altı Python proqramçısı komandası qalıb: üçü CPython istifadə edir və üçü Jython. Təəssüf ki, C++ proqramlaşdıran zombilər küçələrdə dolaşır, buna görə də proqramçılar yalnız xeyirxah diktatorları Guido-nun rəhbərliyi altında təhlükəsiz evlərindən çıxa bilərlər.

Altı komanda təhlükəsiz evlər şəbəkəsini idarə edir və Facelessbook sosial şəbəkəsindəki müzakirələr vasitəsilə təhlükəsiz evləri dəyişdirməyə razılaşıblar - yəni, CPython proqramçıları Jython proqramçıların yaşadığı evlərə köçəcək və əksinə. Hər gecə Guido bir komandaya bir təhlükəsiz evdən başqa, yaxın bir evə keçməyə rəhbərlik edəcək və bunu altı komanda təhlükəsiz evləri dəyişənə qədər hər gecə edəcək.

Hər təhlükəsiz ev yalnız bir komanda üçün kifayət qədər böyükdür, buna görə də eyni vaxtda iki komanda eyni evdə ola bilməz. CPython və Jython proqramçıları arasında böyük etibarsızlıq var, buna görə də onlar Guido-nun CPython komandası və Jython komandası arasında növbə ilə rəhbərlik etməsini tələb edirlər (baxmayaraq ki, ilk gecə o, istənilən komandadan başlaya bilər).

Təhlükəsiz evlərin şəbəkəsi yaxşı məlumdur, həm neçə evin olduğu, həm də hansı ev cütlərinin bir gecədə səyahət etmək üçün kifayət qədər yaxın olduğu bilinir. Sizin işiniz altı komandanın dəyişdirilməsi üçün lazım olan minimum gecə sayını müəyyən etməkdir, əgər bu ümumiyyətlə mümkündürsə.

Ən çox təhlükəsiz ev olacaq, hər biri kiçik hərflə təyin olunacaq. CPython komandaları a, b və c evlərində başlayır; Jython komandaları d, e və f evlərində başlayır. Transferin sonunda CPython komandaları d, e və f evlərində, Jython komandaları isə a, b və c evlərində olmalıdır.

Giriş

Giriş tək sətirdə olacaq və evlər arasındakı əlaqələri göstərəcək. Hər sətir boşluqla ayrılmış "sözlər"dən ibarət olacaq. Hər söz, sözün ilk simvolu ilə təmsil olunan evlə, sözün sonrakı simvolları ilə təmsil olunan evlər arasındakı əlaqəni göstərir.

Çıxış

Hər ssenari üçün, əgər həll varsa, köç üçün lazım olan minimum gecə sayını çap edin; əgər köç etmək üçün heç bir yol yoxdursa, "**No solution.**" sözlərini ehtiva edən tək sətir çap edin.

Nümunələr

Birinci misal tapmacası, _Şəkil 1_, gabd hbcf edf ilə təsvir olunur və **34** hərəkətlə həll edilə bilər. (Bu, yuxarı sıraya qəpiklər və aşağı sıraya nikelər qoyaraq və yuxarıda göstərilən məhdudiyyətlərə uyğun olaraq iki sıranı dəyişməklə əl ilə sınaya biləcəyiniz bir ölçüdə təqdim olunur.)

Şəkil 1: Orta dərəcədə çətin tapmaca

Növbəti tapmaca, _Şəkil 2_-də göstərilən, **bacgh dge feh** ilə təsvir olunur və **46** hərəkət tələb edir.

Şəkil 2: Daha çətin tapmaca

_Şəkil 3_-də təsvir olunan vəziyyət, **gab hbdf ibc edf**, **62** hərəkət tələb edir.

Şəkil 3: Bununla uğurlar!

Nümunə 1

Loading
Loading

Qeyd

Qeyd: Bu tapmaca Dartmouth-da Bob Hearn tərəfindən yaradılmışdır.