justify"> {
{-1, -2},
{1, -2},
{-2, -1},
{2, -1},
{-2, 1},
{2, 1},
{-1, 2},
{1, 2}
}; seq ;//Масив, в який заноситься пара значень
for (size_t i = 0; i
{int x0 = x + moves [i]. dx; int y0 = y + moves [i]. dy; c = 0 ;//Лічильник ходів (size_t j = 0; j < sizeof (moves)/sizeof (* moves); + + j)
{int x1 = x0 + moves [j]. dx; int y1 = y0 + moves [j]. dy;
if (x1> = 0 && x1 = 0 && y1
! board [x1] [y1])// Перевірка чи був кінь на цій клітці
+ + c;
}. insert (pair (c, i));
} (multimap :: iterator i = seq.begin (); i! = seq.end (); + + i)// Перехід на потрібну клітину
{int x0 = x + moves [i -> second]. dx; int y0 = y + moves [i -> second]. dy;
if (x0> = 0 && x0 = 0 && y0
! board [x0] [y0] &&// Перевірка чи був кінь на цій клітці
solve (x0, y0)) true;
}
[x] [y] = false;. pop_back (); false;
}
timer (int = 0)// Очищення дошки
{(int i = 0; i
(0, 0); ();
}
main (int argc, char ** argv)// Вивід на екран
{(& argc, argv); (GLUT_DOUBLE | GLUT_RGB); (480, 480); (40, 450 - 450); ("Knight's tour"); (0, 0, 0, 1.0); (GL_PROJECTION); (); (0, 480, 480, 0, -1, 1); (display); (10, timer, 0); ();
}
В