Proqramçı və altıbucaqlı#4635

Proqramçı və altıbucaqlı

1 saniyə
64 meqabayt
Çox çətin

Bu məsələnin məqsədi 7 altıbucaqlı taxta hissədən ibarət tapmacanın həll edilməsidir (bundan sonra onlara sadəcə "altıbucaqlı" deyəcəyik). Bu altıbucaqlılar 7 mıxa (taxta əsasda sabitlənmiş) yerləşdirilməlidir. Mıxlar Şəkil 1-də göstərildiyi kimi 0-dan 6-ya qədər nömrələnib. Altıbucaqlılar isə böyük hərflərlə, 'A'-dan 'G'-yə qədər işarələnmişdir (bax Şəkil 2). Hər bir altıbucaqlının hər tərəfinə 0-dan 9-a qədər bütöv ədəd yazılıb.

Bütün 7 altıbucaqlı mıxlara yerləşdirildikdə, hər xarici altıbucaqlının 3 tərəfi və 0 mıxındakı altıbucaqlının bütün tərəfləri digər altıbucaqlılarla qonşu olur. Tapmacanı həll etmək üçün bütün 7 altıbucaqlının yerləşməsini və orientasiyasını tapmaq lazımdır ki, bitişik tərəflərdə olan rəqəmlər eyni olsun (bax Şəkil 3).

Şəkil 3 — Həll edilmiş tapmacanın yuxarıdan görünüşü

Proqram 7 altıbucaqlının təsvirini oxumalı, bu 7 altıbucaqlını istifadə edərək mümkün həllini tapmalıdır (əgər həll mövcuddursa) və çıxışa həllin təsvirini yazmalıdır. Əgər birdən artıq həll varsa, istənilən birini çıxarmaq olar. (Bir həll tapıldıqda, 0 mıxındakı altıbucaqlını və digərlərini döndərməklə digər analoji həllər alınar.) Əgər heç bir həll yoxdursa, proqram uyğun bir mesaj çıxarmalıdır. Bir tapmacanın həlli tapıldıqdan sonra, proqram növbəti tapmacanı emal etməlidir — belə davam etməlidir, ta ki girişin sonunu görənə kimi.

Giriş

Giriş bir və ya bir neçə testdən ibarətdir, hər biri bir altıbucaqlı dəstini təsvir edir. İlk 7 sətirin hər birində 6 rəqəm (boşluqsuz) verilib — bunlar bir altıbucaqlının 6 tərəfinə yazılmış rəqəmlərdir. Birinci sətir 'A', ikinci 'B' və s. — yeddinci sətir 'G' üçün rəqəmləri verir. Hər bir sətirin ilk rəqəmi "12 Saat" və ya "YUXARI" mövqeyinə, növbəti 5 rəqəm isə "YUXARI" tərəfdən saat istiqamətinə uyğun gələn tərəflərin rəqəmlərinə aiddir. Məsələn, 2-ci şəkildəkı altıbucaqlı 123456 kimi yazıla bilər. 3-cü şəkildə göstərildiyi kimi, altıbucaqlının tərəflərindəki rəqəmlər mütləq fərqli olmaq məcburiyyətində deyil.

Hər dəstin təsviri olan 7 sətrdən sonra bir sətrdə tək bir ulduz (*) verilir — bu dəstləri bir-birindən ayırır. Növbəti həll üçün proqram növbəti 7 sətri oxuyur və belə davam edir — ta ki faylın sonunu görənə qədər. Ulduz separatoru hər dəstin sonunda, o cümlədən sonuncudan sonra da verilir.

Çıxış

Hər bir altıbucaqlı dəsti üçün həlli tərtib edin. Çıxış 3 sütunlu cədvəl olmalıdır:

  • Birinci sütun: 0–dan 6-ya qədər mıxlar.

  • İkinci sütun: müvafiq mıxda ukladılan altıbucaqlını təyin edən hərflər.

  • Üçüncü sütun: həmin altıbucaqlının tərəflərindəki rəqəmlər, ən əvvəl "YUXARI" istiqamətdəki tərəfdən başlayır, sonra növbəti 5 rəqəm saat istiqamətində.

Sütun başlıqları belə olmalıdır: "PEG", "HEX" və "POSITION".

Əgər heç bir həll yoxdursa, "No solutions possible" çıxarın.

Hər cavabdan (və ya mesajdan) sonra 36 ulduzdan (*) ibarət sətir çıxarın ki, fərqli tapmacaların nəticələri bir-birindən ayrılmış olsun.

Nümunələr

Nümunə 1

Loading
Loading