还剩17页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
皇后代码(非递归,非完全遍历)8#include stdio.h#define TRUE1#define FALSE0void queenprintint column{int i=0;fori=0;i8;i++{if i==columnelse printfQ;printf+;}}printf\n;void Eight_Queen{intcolumn
[8]={0};//8个皇后在每行中的位置,即列标int i=0;〃循环变量int row=0;〃皇后所在位置的行号/*列标数组,假如第列里有皇后了,那么A
[0]=
1.*/int A
[8]={0};/*皇后位置列标加行标,随意两位置皇后此数相等,表小两皇后有冲突假如所得数为n,那么B[n]=1*/int B
[15]={0};/*皇后位置列标减行标,随意两位置皇后此数相等,表示两皇后有冲突相减会产生负值,故所得数统一加70假如得n,那么C[n+add_7]=
1.*/int C
[15]={0};const intadd_7=7;int count=0;//place thequeen of the0row for column
[0]=0;column
[0]8;column
[0]++{row=0;A[column
[0]]=TRUE;B[column
[0]+row]=TRUE;C[column
[0]-row+add_7]=TRUE;//place thequeen of the1st rowforcolumn[l]=0;column[l]8;column
[1]++{row=1;ifA[column
[1]]==TRUE|B[column[l]+row]==TRUE||C[column[l]万+++Q+++++Q++++++++++++Q+++Q++++++++++Q+++++++++Q++++Q+++Q+++++++第34个方案+++Q+++++Q++++++++++++Q+++++Q+++Q++++++++++++++Q+++++Q++++Q+++++第35个方案+++Q+++++Q+++++++++++++Q++++Q+++++++++Q+Q+++++++++Q++++++++++Q++第36个方案+++Q+++++Q+++++++++++++Q+++++Q++Q+++++++++Q+++++++++Q+++++++++Q+第37个方案+++Q+++++++++Q++Q+++++++++++Q++++Q+++++++++++++Q++Q+++++++++++Q+第38个方案+++Q+++++++++Q+++++++++Q+Q++++++++++++Q+Q+++++++++Q+++++++++Q+++第39个方案++++++++Q+++++Q++++Q++Q+++++Q++++++++第40个方案+++Q++++++++++Q+Q++++++++++Q++++Q++++Q++++++Q++++Q+++++41个方案+++Q++++++++++Q+++Q++++++++++++Q+Q++++++++++Q+++Q++++++++++++Q++第42个方案+++Q++++++++++Q+++++Q++++Q+++++++++++Q++Q+++++++++Q++++++++++++Q第43个方案+++Q++++++++++Q+++++Q+++++Q+++++Q++++++++++++Q+++++++++Q+Q++++++第44个方+++Q+++++++++++Q Q+++++++++Q++++++++++Q+++Q++++++++++++Q+++++Q+++第45个方案+++Q+++++++++++Q Q+++++++++++Q+++++++++Q++Q+++++++++++Q++++Q+++++第46个方案+++Q+++++++++++Q++++Q+++++Q+++++Q+++++++++++++Q++Q+++++++++++Q++第47个方案++++Q+++Q++++++++++Q+++++++++Q+++++++++Q+Q++++++++++++Q+++Q+++++第48个方案++++Q+++Q++++++++++++++Q+++Q+++++Q++++++++++++Q+++Q++++++++++Q++第49个方案++++Q+++Q++++++++++++++Q+++++Q++++Q+++++++++++Q++Q+++++++++Q++++第50个方案++++Q++++Q+++++++++Q+++++++++Q+++++++++Q++Q+++++Q+++++++++++++Q+第51个方案++++Q++++Q+Q+++Q++++++++++++Q+++++Q++Q+++++++第52个万++++Q++++Q+++++++++++Q++Q+++++++++++++Q++++Q+++++++++++Q++Q+++++第53个方案++++Q++++Q+++++++++++++Q Q++++++++++Q++++++++++Q+++Q++++++++++Q++第54个方案++++Q+++++Q+++++Q++++++++++++Q+++++++++Q+Q+++++++++Q++++++++++Q+第55个方案++++Q+++++Q+++++Q+++++++++++++Q++Q+++++++++++++Q+++++Q+++++Q++++第56个方案++++Q+++++Q++++++++++++Q+++Q++++++++++Q+Q++++++++++++Q+++Q++++++第57个方案++++Q+++++++++Q+Q+++++++++Q++++++++++++Q+++++Q+++++Q+++++Q++++++第58个方案++++++++Q+Q+++++++Q+++++Q+++++++++++第59个方案++++Q+++++Q+++++Q++++Q+++++Q++Q+++++++Q++++++++++Q Q+++++++++Q++++++++++Q++第60个方案++++Q+++++++++Q++Q+++++++++++Q++++Q+++++Q++++++++++Q+++++++++++Q第61个方案++++Q+++++++++Q++Q+++++++++++Q++++Q+++++Q++++++++++++++Q+++Q++++第62个方案++++Q+++++++++Q++++Q++++Q+++++++++Q++++++++++++Q+++++Q+++Q++++++第63个方++++Q++++++++++Q+++Q++++Q+++++++++Q++++++++++Q+++Q++++++++++++Q+第64个方案++++Q++++++++++Q+++Q++++Q+++++++++++++Q++Q+++++++++++Q++++Q+++++第65个方案+++++Q++Q+++++++++++Q++++Q+++++++++++++Q++Q+++++++++++Q++++Q++++第66个方案+++++Q+++Q++++++++++++Q+Q+++++++++Q+++++++++Q++++++++++Q+++Q++++第67个方案+++++Q+++Q++++++++++++Q+Q++++++++++Q+++++++++++Q++++Q+++++Q+++++第68个方案+++++Q++++Q+++++Q+++++++++++++Q+++++Q++++++++++Q+Q+++++++++Q++++第69个方案+++++Q++++Q+++++Q++++++++++++++Q+++Q+++++Q++++++++++++Q+++++Q+++第70个方案+++++Q++++Q+++++Q++++++++++++++Q++++Q++++Q+++++++++Q++++++++++Q+第71个万+++++Q++++Q+++++++++Q+++++++++Q+Q++++++++++Q+++++Q+++++++++++++Q第72个方案+++++Q++++Q+++++++++Q++++++++++Q Q++++++++++Q+++++Q++++++++++++Q+第73个方案+++++Q++++Q+++++++++++Q++Q+++++++++Q+++++++++++Q Q+++++++++++Q+++第74个方案+++++Q++++Q+++++++++++Q++Q+++++++++++++Q++++Q+++Q++++++++++Q++++第75个方案+++++Q++++Q+++++++++++Q++++Q++++Q++++++++++++++Q+Q++++++++++Q+++第76个方案+++++Q+++++Q++++Q+++++++++++Q++++++++++Q+Q++++++++++++Q+++Q+++++第77个方案+++++Q+++++Q+++++++Q++++Q+++++++++Q+Q++++++++++++第78个方案+++++Q+++++Q++++++++++Q++Q+++++++++Q++++Q+++++++++++++Q第79个方案+++++Q+++++Q++++++++++Q+Q++++++++++++++Q+Q++++++++++Q+++++Q+++++第80个方案+++++Q+++++++++Q+Q+++++++++Q++++Q+++++++++++++Q+++++Q+++++Q+++++第81个方案++++++Q+Q+++++++++Q+++++++++++Q++++++++++Q+++第82个方++++++Q++Q+++++++++Q++++Q++++++++++++++Q++++Q+++++Q++++++++++Q++第83个方案++++++Q++Q+++++++++++Q++++Q+++++Q++++++++++Q+++++++++++Q++++Q+++第84个方案++++++Q+++Q+++++Q++++++++++++Q+++++++++Q++++Q++++Q+++++++++Q++++第85个方案++++++Q+++Q++++++++++++Q+Q++++++++++Q+++Q++++++++++++Q+++++Q++++第86个方案++++++Q++++Q+++++Q++++++++++Q++++++++++Q Q+++++++++Q++++++++++Q++第87个方案++++++Q++++Q+++++Q+++++++++++++Q+++++Q++Q+++++++++Q+++++++++Q+++第88个方案++++++Q+++++Q+++++Q+++++Q++++++++++++Q+++++++++Q+Q+++++++++Q++++第89个方案+++++++Q+Q+++++++++Q++++Q+++++++++++++Q+++++Q+++++Q++++++++++Q++第90个+++++++Q+Q++++++++++Q+++++Q+++++Q+++++++++++++Q++++Q+++++++++Q++第91个方案+++++++Q++Q+++++Q++++++++++++Q+++Q++++++++++Q+++++++++Q++++Q++++第92个方案+++++++Q+++Q++++Q+++++++++Q++++++++++Q+++Q++++++++-row+add_7]==TRUE continue;A[column[l]]=TRUE;B[column
[1]+row]=TRUE;C[column[l]-row+add_7]=TRUE;//place thequeen of the2nd rowfor column
[2]=0;column
[2]8;column
[2]++{row=2;if A[column
[2]]==TRUE|B[column
[2]+row]==TRUE||C[column
[2]-row+add_7]==TRUE continue;A[column
[2]]=TRUE;B[column
[2]+row]=TRUE;C[column
[2]-row+add_7]=TRUE;//place thequeen of the3rd rowfor column
[3]=0;column
[3]8;column
[3]++{row=3;if A[column
[3]]==TRUE||B[column
[3]+row]=二TRUE|C[column
[3]-row+add_7]==TRUE continue;A[column
[3]]=TRUE;B[column
[3]+row]=TRUE;C[column
[3]-row+add_7]=TRUE;//placethe queenofthe4th rowfor column
[4]=0;column
[4]8;column
[4]++{row=4;if A[column
[4]_==TRUE||B[column
[4]+row]==TRUE|C[column
[4]-row+add_7]==TRUE continue;A[column
[4]]=TRUE;B[column
[4]+row]=TRUE;C[column
[4]-row+add_7]=TRUE;//place thequeenofthe5th rowforcolumn
[5]=0;column
[5]8;column
[5]++if A[column
[5]]==TRUE B[column
[5]+row]==TRUE|C[column
[5]-row+add_7]==TRUE continue;A[column
[5]]=TRUE;B[column
[5]+row]=TRUE;C[column
[5]-row+add_7]=TRUE;//placethe queenofthe6th rowforcolumn
[6]=0;column
[6]8;column
[6]++{row=6;if A[column
[6]]==TRUE|B[column
[6]+row]==TRUE||C[column
[6]-row+add_7]==TRUE continue;A[column
[6]]=TRUE;B[column
[6]+row]=TRUE;C[column
[6]-row+add_7]=TRUE;//place thequeenofthe7th rowforcolumn
[7]=0;column
[7]8;column
[7]++{row=7;if A[column
[7]]==TRUE||B[column
[7]+row]=二TRUE|C[column
[7]-row+add_7]==TRUEcount++;continue;printf第%d个方案\n,count;fori=0;i8;i++{queen_printcolumn[i];}}row--;//delete thelast row queen.A[column
[6]]=FALSE;B[column
[6]+row]=FALSE;}C[column
[6]-row+add_7]=FALSE;row--;//delete thelast row queen.A[column
[5]]=FALSE;}B[column
[5]+row]=FALSE;C[column
[5]row+add7]row一一;//delete thelast rowqueen.A[column
[4]_=FALSE;B[column
[4]+row]=FALSE;row一一;//delete thelast rowqueen.C[column
[4]-row+add7]FALSE;A[column
[3].FALSE;B[column
[3]+row]=FALSE;C[column
[3]row+add7]=FALSE;row一一;//delete thelast rowqueen.A[column
[2]_=FALSE;}B[column
[2]+row]=FALSE;C[column
[2]-row+add_7]row一一//delete thelastrowqueen.A[column[l]FALSE;B[column[l]+row]=FALSE;row一;//delete thelastrowqueen.C[column[l]row+add7]=FALSE;A[column
[0]FALSE;B[column
[0]+row]=FALSE;C[column
[0]一row+add7]=FALSE;return;voidmain{}int count=0;Eight_Queen;结果如下+Q+++第3个方案Q+++++++++++++Q++++Q+++++++++Q+++++++++Q+Q++++++++++Q+++++Q+++++第4个方Q+++++++++++++Q+++++Q++++++++++Q+Q+++++++++Q+++++++++Q++++Q+++++第5个方案+Q+++++++++Q+++++++++Q+++++++++Q++Q+++++Q+++++++++++++Q+++++Q+++第6个方案+Q++++++++++Q+++++++++Q+Q+++++++++Q++++++++++++Q+++++Q+++++Q++++第7个方案+Q++++++++++Q+++++++++Q++++Q++++Q++++++++++++++Q+++++Q++++Q+++++第8个方案+Q+++++++++++Q++Q+++++++++++++Q++++Q+++++++++++Q++Q+++++++++Q+++第9个方案+Q+++++++++++Q+++++++++Q++Q+++++Q++++++++++Q++++++++++Q+++++Q+++第10个方案+Q++++++++++++Q+++Q++++++++++Q+++++++++Q++++Q+++Q++++++++++Q++++11个方案+Q++++++++++++Q+++++Q++++++++++Q Q++++++++++Q+++++++++Q++++Q+++++第12个方案+Q+++++++++++++Q+++++Q++Q+++++++++Q+++++++++Q+++++++++Q++++Q++++第13个方案++Q+++++Q+++++++++++++Q+++++Q++++++++++Q+Q+++++++++Q+++++++++Q++第14个万++Q+++++++++Q++++Q+++++++++++++Q Q+++++++++++++Q++++Q+++++++++Q++第15个方案++Q+++++++++Q++++Q+++++++++++++Q+++++Q+++++Q++++++++++Q+Q+++++++第16个方案++Q+++++++++Q+++++++++Q+Q++++++++++Q+++++Q+++++++++++++Q+++++Q++第17个方案++Q+++++++++Q++++++++++Q+++Q++++Q+++++++++++++Q++Q+++++++++++Q++第18个方案++Q++++++++++Q+++Q++++++++++Q++++++++++Q Q+++++++++++++Q++++Q++++第19个方案++Q++++++++++Q+++Q++++++++++++Q+Q++++++++++Q+++++++++++Q++++Q+++第20个方案++Q++++++++++Q+++Q++++++++++++Q+++++Q+++Q++++第21个方案++Q++++++++++Q+++++Q++++Q++++++++++++++Q++++Q+++++++++Q++Q++++++22个方案++Q++++++++++Q+++++Q+++++Q+++++++++++++Q++++Q+++++++++Q+Q+++++++第23个方案++Q++++++++++Q+++++++++Q Q++++++++++Q++++++++++Q+++++Q++++Q++++++第24个方案++Q++++++++++Q+++++++++Q Q+++++++++++Q+++++++++Q++Q+++++++++Q++++第25个方++Q++++++++++Q+++++++++Q+Q+++++++++Q++++Q+++++++++++++Q+++++Q+++第26个方案++Q+++++++++++Q++Q+++++++++++++Q++++Q+++Q++++++++++Q+++++++++Q++Q++Q+++++++++++++Q+++++Q+++++Q++++Q+++++++++++Q+++第28个方案++Q++++++++++++Q+++Q++++++++++Q+Q++++++++++++Q+++Q++++++++++Q+++第29个方案+++Q++++Q+++++++++++Q++++++++++Q+Q++++++++++++Q+++Q++++++++++Q++第30个方案+++Q++++Q+++++++++++Q++++++++++Q+++++Q++++Q+++++++++++Q++Q++++++第31个方案+++Q+++++Q++++++++++Q++++++++++Q+++++Q++Q+++++++++Q+++++++++++Q+第32个方案+++Q+++++Q++++++++++++Q+++Q++++++++++Q+++++++++Q。