Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Problem konika szachowego, powroty

$
0
0

Witam, 

Napisałem algorytm który rozwiązuje problem konika szachowego. Jednak nie rozwiązuje go w sposób poprawny. A mianowicie nie mam pojęcia jak sprawić żeby algorytm się "cofał" do ostatniego pola na szachownicy i wykona inny ruch kiedy napotka pole z którego nie może wykonać ruchu. W tej chwili po prostu wstawia 0 w pola w których według mnie nie ma prawa być. 

int solve(int x, int y, int numer_ruch)
{
    int move = 0;

    if(numer_ruch == SIZE*SIZE)
    {
        return 1;
    }
    else if (szachownica[x][y] == 0)
    {
        while(move < 8)
        {
            szachownica[x][y] = numer_ruch;

            if ((ruchX(x, move) != -1) && (ruchY(y, move) != -1))
                if(solve(ruchX(x, move), ruchY(y, move), numer_ruch+1))
                    return 1;

            move++;
        }
        szachownica[x][y]=0;
    }

    return 0;
}

Może ktoś wytłumaczyć co robię źle?


Viewing all articles
Browse latest Browse all 21942