Dodaj do ulubionych

PA - sznurki

23.10.03, 13:23
W Pogromcach Algorytmów było bardzo fajne zadanko,
w którym było więcej łamigłówkowania niż programania.
Polecam wszystkim forumowiczom w wersji bez programowania.
Po prostu podajcie reguły najszybszego rozplątywania
zaplątanych szurków.
Zdanie jest na:
pa.gazeta.pl/user.phtml?op=inc&id=36
Tomek
Obserwuj wątek
    • mesquaki Re: PA - sznurki 27.10.03, 17:31
      Wydaje mi się, że można sznurki rozplątać dość prosto, jeśli będziemy cały czas
      uaktualniać sekwencję ruchów potrzebnych do rozplątania.
      Reguły są takie:
      Ogólnie każde S rozplątujemy przez ciąg R(S)x

      1. jeśli pierwszy wyraz sekwencji potrzebnej do rozplątania pierwszych n ruchów
      tańca jest równy n+1 ruchowi tańca, to kasujemy ten pierwszy ruch rozplątywania
      2. jeśli pierwszy wyraz sekwencji potrzebnej do rozplątania pierwszych n ruchów
      tańca to R (lub nic), a n+1 ruch tańca to S, to do pierwszej sekwencji
      rozplątywania R(S)x dopisujemy jeszcze jedno S, a przed nią RS ( np z RSSRSS
      powstanie RSRSSSRSS)
      3. jeśli pierwszy wyraz sekwencji potrzebnej do rozplątania pierwszych n ruchów
      tańca to S, a n+1 ruch tańca to R, to do sekwencji potrzebnej do rozplątanie
      dopisujemy na początku R

      No i jeszcze trzeba chyba pilnować, w razie gdy aktualna sekwencja do
      rozplątania jest pusta, czy ilość ruchów R jest nieparzysta.
      W takim wypadku sznurki są w położeniu || i dowolna ilość S nie powoduje
      skręcenia.

      Przykład (pierwsza kolumna- kolejne ruchy tańca, druga - ruchy potrzebne do
      rozplątania n pierwszych ruchów tańca, trzecia - reguła):


      01_S__RS_________________2
      02_S__RSRSS______________2
      03_S__RSRSSRSS___________2
      04_R__SRSSRSS____________1
      05_S__RSSRSS_____________1
      06_S__RSRSSSRSS__________2
      07_R__SRSSSRSS___________1
      08_S__RSSSRSS____________1
      09_S__RSRSSSSRSS_________2
      10_R__SRSSSSRSS__________1
      11_S__RSSSSRSS___________1
      12_S__RSRSSSSSRSS________2
      13_R__SRSSSSSRSS_________1
      14_S__RSSSSSRSS__________1
      15_R__SSSSSRSS___________1
      16_S__SSSSRSS____________1
      17_S__SSSRSS_____________1
      18_R__RSSSRSS____________3
      19_S__RSRSSSSRSS_________2
      20_R__SRSSSSRSS__________1
      21_S__RSSSSRSS___________1
      22_R__SSSSRSS____________1
      23_S__SSSRSS_____________1
      24_R__RSSSRSS____________3
      25_S__RSRSSSSRSS_________2
      26_S__RSRSSRSSSSRSS______2
      27_S__RSRSSRSSRSSSSRSS___2

      Wydaje mi się, że to powinno działać. Czy coś przeoczyłam?
      m

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka