// *Knight Path* by Krzysztof Bosak 13.04.1998 #include #define MAX 8 const char MAXPOZIOM=MAX*MAX-1; bool tab[MAX][MAX]={0}; char skoki[]={1, -2, 2, -1, 2, 1, 1, 2, -1, 2, -2, 1, -2, -1, -1, -2}; void Out() { for(char i=0, j; i<=MAX; i++) { for(j=0; j<=MAX; j++) cout<=MAX || y>=MAX || tab[x][y]) return false; if(poziom==MAXPOZIOM) return true; tab[x][y]=true; //Out(); poziom++; for(char jmp=0; jmp<16; jmp+=2) if(Hop(x+skoki[jmp], y+skoki[jmp+1], poziom)) { cout<=MAX || y>=MAX || *check) return false; if(poziom==MAXPOZIOM) return true; *check=true; //Out(); poziom++; for(char *ptr=skoki, jmp=0; jmp<8; jmp++, ptr+=2) if(Hop64(x+*ptr, y+*(ptr+1), poziom)) { cout<