- 博客(0)
- 资源 (3)
空空如也
n皇后图形化程序算法分析与设计
该程序是算法分析与设计里的n皇后处理程序,该程将n皇后图形化void backtrace(int queen[],int N)
{
int i, j, k;
cout<<"★为皇后放置位置\n";
for (i=1;;)
{ //首先安放第1行
if(queen[i]<N)
{ //皇后还可调整
k=0; //检查与第k个皇后是否互相攻击
while(k<i&&abs(queen[k]-queen[i])&&(abs(queen[k]-queen[i])-abs(k-i))) k++;
if (k<=i-1)
{ //与第k个皇后互相攻击
queen[i]++; //第i个皇后右移一列,重测
continue;
}
i++; //无冲突,安置下一行皇后
if(i<N) continue;
cout<<"第"<<total+1<<"种为:\n";
for(int i=0;i<N;i++)
{
for(int j=0;j<queen[i];j++)
cout<<"□";
cout<<"★";
for(int k=queen[i]+1;k<N;k++)
cout<<"□";
cout<<endl;
}
total++; //方案数加1
if(total%5==0) cout<<endl;
queen[N-1]++; // 将第8个皇后右移一列,前8个不动
i=N-1; //此处是制造机会,如不成功则回溯,关键一步
}
else //当前行皇后无法安置,回溯
{
queen[i]=0; //当前行皇后回归1列
i--; //回溯到前一行皇后
if(i<0)
{ //回溯到数组1行之前,结束
cout<<"\n针对 "<<N<<" 皇后问题,"<<"一共找到 "<<total<<" 种放置方法。 "<<endl;
cout<<endl;
return;
}
else queen[i]++; //前一行皇后右移一列
}
}
}
2011-06-19
离散数学课后答案 屈婉玲张立昂
大二离散数学课后答案,找不到完整版。屈婉玲,耿素云,张立昂 高等教育出版社出版
STACK SEGMENT STACK;定义堆栈段开始
DB 0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H,;用伪指令db定义一个字节的变量,每个操作数占一个字节,数据依次会写入内存
DB 0B8H,0B9H;以字母开头的十六进制要在前面多加个0,以便于与标示符的区别
DB 0BAH,0BBH,0BCH,0BDH,0BEH,0BFH
DB 10H DUP(00);字节以00h重复16次
STACK ENDS;堆栈段结束
DATA1 SEGMENT;数据段1的开始
DB 0A0H,0A1H,0A2H,0A3H
TABLE DW 0A5A4H;定义字变量TABLE
DB 0A6H,0A7H,0A8H,0A9H,0AAH,0ABH
DB 0ACH,0ADH,0AEH,0AFH
DATA1 ENDS;数据段1的结束
DATA2 SEGMENT;数据段2的开始
DB 0C0H,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C7H
DB 0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH,0CFH
DATA2 ENDS;数据段2的结束
CODE SEGMENT;代码段的开始
2011-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人