Problem ośmiu królowych to problem, który wymaga ośmiu królowych na szachownicy (8x8) w takiej pozycji, że żadne dwie królowe nie atakują się nawzajem.
Układanka została wymyślona przez szachistę Maxa Bezzela w 1848 roku i od tego czasu studiowali ją matematycy. Osiem problemów z królową wykorzystał w 1972 roku Edsger Dijkstra, aby opublikować opis algorytmu śledzenia wstecznego do programowania.
Algorytm, warunki programowania