Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomoc w napisaniu algorytmu
Forum PHP.pl > Forum > PHP
Wicepsik
Trochę czasu spędziłem nad tym jak to rozwiązać, ale nie przychodzi mi nic do głowy.
Przedstawię na przykładzie o co mi chodzi. Plansza ma wymiary 10x10.


Na planszy powyżej są kulki. Potrzebuję wskazówek jak napisać algorytm który wyszuka mi którą kulkę należy przesunąć, aby było 5 kulek w jednym rzędzie ( na ukos się nie liczy ). Jeśli nie znajdzie żadnej kombinacji to zacznie szukać, aby były 4 kulki w rzędzie, następnie 3.

Nie miałem nigdy do czynienia z algorytmami to trudno mi cokolwiek wyszukać nawet w google :/
marcus753
na samym początku na planszy ile jest kulek 5 ?
Wicepsik
Cytat(marcus753 @ 3.07.2010, 00:01:00 ) *
na samym początku na planszy ile jest kulek 5 ?

Nie, plansza od razu ma wymiary 10x10. Nie chciało mi się rysować tylu snitch.gif
marcus753
Wynacz ale nie rozumiem mamy plansze 10 na 10 która cała pokrywają kulki czy jest ich określona ilość a jeśli tak to jaka w przypadku gdy cała plansze pokrywają kulki musza się zamieniac miejscami a to oznacza ze są ich różne rodzaje w takim przypadku ile jest tych rodzajów ? Nie opisales za dobrze swojego problemu a konkretnie danych wejściowych...
Demongod
Coś takiego mi przyszło do głowy (może to nie jest profesjonalny algorytm ale powinien być skuteczny)
Możesz zacząć od sprawdzania wierszy
Kod
Jeżeli kolor powtarza się 4 razy w obrębie 5 pól wiersza -> sprawdź czy w komórkach sąsiadujących z polem(z góry lub dołu), które ma inny kolor,  znajduje się  komórka z tym samym kolorem -> jeżeli tak to pokaż którą i gdzie powinno się ja posunąć.

Jeśli zaś nie uda mu się znaleść odpowiedniej kulki obróć tablice tak aby kolumny stały się wierszami i zacznij sprawdzanie jeszcze raz.
Jeżeli chodzi o wyszukiwanie 4 kulek w rzędzie to spróbuj wyszukać 3 powtarzające się kulki w obrebie 4 pól itd.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.