PHP: /* Bai toan tam hoang hau */ #include <stdio.h> int dong[8], cot[8], cheoxuoi[15], cheonguoc[15]; void print () { int i; printf("\n"); for (i=0; i<8; i++) printf("%3d", dong); } void thu(int i) { int j; for (j=0; j<8; j++) { if (cot[j] == 1 && cheoxuoi[i+j] ==1 && cheonguoc[i-j+7] == 1) { dong = j; cot[j] = 0; cheoxuoi[i+j] = 0; cheonguoc[i-j+7] = 0; if (i<7) thu(i+1); else print(); cot[j] = 1; cheoxuoi[i+j] = 1; cheonguoc[i-j+7] = 1; } } } void tim() { int i, q; for (i=0; i<8; i++) { cot = 1; dong = -1; } for (i=0; i<15; i++) { cheoxuoi = 1; cheonguoc = 1; } thu(0); } void main() { tim(); getch(); }
bỏ trong thẻ code đi bạn, dong***91;8***93; đúng ra phải là dong[91][93] bài toán 8 hậu xét các đường ngang là i, cột dọc là j, chéo phải là i+j, chéo trái là i-j. có tất cả 92 cách sắp xếp 8 hậu.