資源簡介
有多種方法解決八皇后問題,在這里我用的是回溯法解決八皇后問題。大家一起來學習呀!!
代碼片段和文件信息
#include
#include
int?count?=?0;
int?IsCorrect(int?i?int?j?int?(*Q)[8])
{
int?s?t;
for(s=i?t=0;?t<8;?t++)//判斷行
{
if(Q[s][t]?==?1?&&?t?!=?j)
{
return?0;
}
}
for(t=j?s=0;?s<8;?s++)//判斷列
{
if(Q[s][t]?==?1?&&?s?!=?i)
{
return?0;
}
}
for(s=i-1?t=j-1;?s>=0?&&?t>=0;?s--?t--)//判斷左上角
{
if(Q[s][t]?==?1)
{
return?0;
}
}
for(s=i+1?t=j+1;?s<8?&&?t<8;?s++?t++)//判斷右下角
{
if(Q[s][t]?==?1)
{
return?0;
}
}
for(s=i-1?t=j+1;?s>=0?&&?t<8;?s--?t++)//判斷右上角
{
if(Q[s][t]?==?1)
{
return?0;
}
}
for(s=i+1?t=j-1;?s<8?&&?t>=0;?s++?t--)//判斷左下角
{
if(Q[s][t]?==?1)
{
return?0;
}
}
return?1;
}
void?Queen(int?j?int?(*Q)[8])
{
int?i?k;
if(j?==?8)
{
for(i=0;?i<8;?i++)
{
for(k=0;?k<8;?k++)
{
printf(“%d?“Q[i][k]);
}
printf(“\n“);
}
printf(“\n“);
count++;
return;
}
for(i=0;?i<8;?i++)
{
if(IsCorrect(i?j?Q))
{
Q[i][j]?=?1;
Queen(j+1?Q);
Q[i][j]?=?0;
}
}
}
void?main(void)
{
int?Q[8][8];
int?i?j;
for(i=0;?i<8;?i++)
{
for(j=0;?j<8;?j++)
{
Q[i][j]?=?0;
}
}
Queen(0?Q);
printf(“The?total?number?of?Eight_Queen?is%d\n“count);
getch();
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????33792??2011-02-15?08:30??回溯法解決八皇后問題\Debug\vc60.idb
?????文件??????45056??2011-02-15?08:29??回溯法解決八皇后問題\Debug\vc60.pdb
?????文件?????172142??2011-02-15?08:30??回溯法解決八皇后問題\Debug\回溯法解決八皇后問題.exe
?????文件?????187140??2011-02-15?08:30??回溯法解決八皇后問題\Debug\回溯法解決八皇后問題.ilk
?????文件???????5224??2011-02-15?08:29??回溯法解決八皇后問題\Debug\回溯法解決八皇后問題.obj
?????文件?????157364??2010-12-30?16:33??回溯法解決八皇后問題\Debug\回溯法解決八皇后問題.pch
?????文件?????443392??2011-02-15?08:30??回溯法解決八皇后問題\Debug\回溯法解決八皇后問題.pdb
?????文件???????1352??2010-12-30?16:54??回溯法解決八皇后問題\回溯法解決八皇后問題.c
?????文件???????3569??2011-02-15?08:29??回溯法解決八皇后問題\回溯法解決八皇后問題.dsp
?????文件????????548??2011-02-15?08:30??回溯法解決八皇后問題\回溯法解決八皇后問題.dsw
?????文件??????41984??2011-02-15?08:30??回溯法解決八皇后問題\回溯法解決八皇后問題.ncb
?????文件??????48640??2011-02-15?08:30??回溯法解決八皇后問題\回溯法解決八皇后問題.opt
?????文件????????816??2011-02-15?08:30??回溯法解決八皇后問題\回溯法解決八皇后問題.plg
?????目錄??????????0??2010-12-30?16:51??回溯法解決八皇后問題\Debug
?????目錄??????????0??2011-02-15?08:30??回溯法解決八皇后問題
-----------?---------??----------?-----??----
??????????????1141019????????????????????15
評論
共有 條評論