Powrót hetmana
Zaniedbałem szachy, więc powracam do nich – na razie nieśmiało, półgębkiem, bo korzystając tylko z podstawowych reguł, czyli sposobów poruszania się figur. We wpisie za kilka dni będzie śmielej i pełną gębą.
Hetman, który znajduje się na polu g1, powinien dotrzeć do swojego króla, czyli na pole b8. Jednak w trakcie wędrówki jego sposób poruszania się ulega metamorfozom. Zaczyna ruchem hetmana, ale znalazłszy się na drugim i każdym następnym polu, kolejne posunięcie powinien wykonać jak figura, której symbol znajduje się na danym polu. Na przykład:
– po pierwszym ruchu na b1 wirtualnie staje się skoczkiem, czyli w następnym ruchu może znaleźć się tylko na polu a3, c3 lub d2;
– po pierwszym ruchu na h1 staje się pionkiem, który rusza się zawsze tylko o jedno pole do przodu (do góry), czyli kolejnym polem będzie h2, na którym na krótko zmieni się w wieżę.
Na pustych polach nie wolno się zatrzymywać, bo grozi to bezruchem, ale można przez te pola przechodzić.
Proszę podać kolejność pól na trasie.
Komentarze
c1 -> b3 -> e6 ->e7 -> e4 -> d6 -> b8
Wystarczy zacząć od tyłu i bez żadnych rozgałęzień, krok po kroku dochodzimy do hetmana.
Sposób rozwiązywania takiego zadania jest bardzo prosty:
1. Idziemy od końca, sprawdzamy pola, z którego można dotrzeć do króla i oznaczamy je N=1.
2. Sprawdzamy, z jakich pól (nieoznaczonych żadną liczbą) można dotrzeć do pól z N i oznaczamy je N+1.
3. Jeśli w polu z hetmanem nie ma liczby, a w poprzednim kroku oznaczyliśmy jakieś pola, to: N=N+1 i wracamy do 2.
4. Jeśli w polu z hetmanem jest liczba, to istnieje rozwiązanie. Idziemy od hetmana, szukamy pola N-1 dostępnego z jego pozycji i kolejno przechodzimy aż do króla. Jeśli w którymś kroku jest wiele N-1 do wyboru, to znaczy, że rozwiązań jest wiele.
W tym przypadku w każdej pętli poznajemy tylko jedno nowe pole N+1.
G1=>C1=>B3=>E6=>E7=>E4=>D6=>B8
W zasadzie chyba nic nie stoi na przeszkodzie, żeby zastosować podobny algorytm, ale rozpoczynając od hetmana. Jednak wtedy można dotrzeć do całej lub prawie całej planszy (nie sprawdzałem) i liczba wariantów do sprawdzenia jest znacznie większa, natomiast od króla dostępnych pól jest już znacznie mniej. Da się pewnie skonstruować zadanie tak, aby było odwrotnie lub jakaś sytuacja pośrednia.
Bardzo łatwe znaleźć następujące rozwiązanie zaczynając od króla i cofając się do hetmana: c1 – b3 – e6 – e7 – e4 – d6 – b8.
Najłatwiej rozwiązać to od końca. Kolejność pól:
c1, b3, e6, e7, e4, d6, b8.
c1,b3,e6,e7,e4,d6,b8
g1-c1-b3-e6-e7-e4-d6-b8
Tak na szybko: g1-c1-b3-e6-e7-e4-d6–b8
Jedyne rozwiązanie to:
G1 => C1 => B3 => E6 => E7 => E4 => D6 => B8
Albo czegoś nie zrozumiałem albo całkiem łatwe:
c1 – S
b3 – G
e6 – (pion)
e7 – W
e4 – S
d6 – G
b8 – K
zaczynając od króla idzie się jak po sznurku.
Nie jestem pewien czy dobrze zrozumiałem treść zadania, wszak późno trochę jest. Oczywistym jest, że nie wszystkie pola zajęte przez wirtualne figury zostaną odwiedzone przez hetmana (piony na C7, D7, F7) zatem uznałem, że takiego obowiązku nie ma. Może się wówczas poruszać następująco: G1-C1-B3-E6-E7-E4-D6-B8 i jest to chyba jedyne rozwiązanie.
Wygląda na to, o ile nie ma haczyka, ale nie widzę, że jest prostsze, niż myślałem: g1-c1-b3-e6-e7-e4-d6-b8. Rozwiązuje się oczywiście „od tyłu”. Wydaje mi się, że nie ma innych rozwiązań, bo widzę, że na każde z wymienionych pól można dostać się tylko z jednego pola, o ile czegoś nie przeoczyłem.
Hetman na c1 – staje się koniem
Koń na b3 – staje się gońcem
Goniec na e6 – staje się pionkiem
Pionek na e7 – staje się wieżą
Wieża na e4 – staje się koniem
Koń na d6 – staje się gońcem
Goniec na b8 – koniec wędrówki
Trzeba rozwiązywać od tyłu – wtedy to jest łatwe zadanie.
g1-c1-b3-e6-e7-e4-d6-b8
g1-g7-e5-d7-d6-b8
c1, b3, e6, e7, e4, d6, b8
Rozwiazan z promocja jest wiele. To chyba najkrotsze z nich:
g1-b6-c7-c8-(promocja na W lub H)-b8
Rozwiazan bez promocji nie widze.
G1 c1 b3 e6 e7 e4 d6 b8. Zadanie jest proste jeżeli zaczniemy od końca. Jedynym możliwym miejscem skąd dostaniemy się na b8 jest d6 itd
A czy końcówka tej trasy może przebiegać c7 – b8, tzn. pionek bije króla po skosie?
Nie, obalanie króla wykluczone 🙂
mp
g1-c1-b3-e6-e7-e4-d6-b8
g1-c1-b3-e6-e7-e4-d6-b8
W nawiązaniu do wymiany myśli pomiędzy Naszym Gospodarzem a OląGM:
Królów ci u nas dostatek.
HWHS_HKWKPG_P_P| 15
_GG_SS_P_SGG__W| 14
G__HWHPHPWPPKPG| 13
WHP_GWP_SGG_PKP| 12
KHHKKKPHPPWGKKP| 11
WPWWWWWKSW_WSHS| 10
S_WHPSKP_K_KPWG| 9
GWWG_SKG_KHKKPS| 8
SK_KSSGHH_SSHGK| 7
SW_SKSSKSGK_GSG| 6
SWPPSHPSWWKSGKG| 5
WGGK__GHSPSPWHS| 4
HGHK_SGSSSSS_WH| 3
HGPWPKGHG_H_WPP| 2
SGGHPWGWPWHPGGH| 1
—————
abcdefghijklmno
Zadanie miało brzmieć: „startując od lewego-górnego pola (czyli a15) proszę odwiedzić jak najwięcej Królów”, ale formatowanie chyba zepsuło zadanie (?).
Wklejenie do notatnika notepadowego naprawia 🙂
Wydaje mi się, że końcówka to musi być:
-e4-d6-b8
Ale za nic nie mogę znaleźć drogi do konia na e4, jeśli pionki ruszają się tylko o jedno pole do góry na wprost.
Na pole króla nie można wchodzić pionkiem ruchem bicia – na skos. Ale może na inne pola można stosować taki ruch pionka? Np. d3-e4?
Czytam sobie komentarze typu „oczywiście od końca”, „trzeba od tyłu”, „najłatwiej od końca”, „wydaje się, że podobnie można rozpocząć od hetmana, ale wtedy będzie więcej przypadków do rozpatrzenia” i nie mogę się z nimi zgodzić.
Zaczynając od tyłu postępujemy tak:
– stoimy na polu z królem i szukamy które z figur mogą poruszyć się na to pole -> znajdujemy tylko jedno takie pole X (ale po drodze musieliśmy przejrzeć całą szachownicę, aby sprawdzić wszystkie pola)
– stoimy na polu X i szukamy które z figur mogą poruszyć się na to pole -> znowu znajdujemy tylko jedno takie pole Y (ale znowu musieliśmy przejrzeć całą szachownicę, aby sprawdzić, z których pól można dotrzeć do X)
– itd…
Tymczasem zaczynając od hetmana robimy tak:
– pole z hetmanem oznaczamy liczbą 0 (czyli liczbą ruchów, które są potrzebne do osiągnięcia tego pola).
– wszystkie pola osiągalne z pola początkowego oznaczamy liczbą 1.
– w kolejnym kroku dla każdego pola X oznaczonego liczbą 1 sprawdzamy wszystkie pola Y osiągalne z pola X. Jeśli pole Y nie jest jeszcze oznaczone liczbą, to oznaczamy je liczbą 2.
– itd… otrzymujemy już tylko dwa pola oznaczone liczbą 4, jedno z 5, jedno z 6 i jedno z 7 (król)
To rozwiązanie wymaga wykonania mniej więcej takiej samej liczby operacji, jak poszukiwania od tyłu, posiada jednak jedną sporą zaletę. Mianowicie, gdy stoimy na polu X, to wiemy jaka figura znajduje się na tym polu i wiemy, które pola Y są osiągalne z pola X (tzn. możemy łatwo zlokalizować pola Y, jako pola na które może poruszyć się figura z X).
Natomiast idąc od tyłu, jeśli jesteśmy na polu X, to wyszukiwanie z których pól Y można dotrzeć do X jest trudniejsze, bowiem różni kandydaci na pole Y mają różne figury szachowe i trzeba dodatkowo zwracać uwagę, jak porusza się dana figura.
Osobiście również zacząłem rozwiązywać zadanie od tyłu, ale po krótkiej chwili zrezygnowałem, bo wymagało to ode mnie sporego skupienia, aby się nie pomylić i niczego nie przeoczyć. Natomiast rozwiązanie od przodu zrobiło się prawie automatycznie, bez konieczności ciągłej kontroli, czy aby na pewno się nie pomyliłem.