摘要: Technorati 标签: 八皇后问题//8queen.cpp//eight queens problem,总共有92个解.//八皇后问题:在8*8的方格棋盘上安置8个棋子(皇后)//要求:任何两个棋子都不能在棋盘的同一行,同一列或同一对角线上。#include <iostream>using namespace std; const int N = 8;static int num = 0; int a[N][N] = {0}; //输出矩阵void print(int a[][N],int row); //注意二维数组如何调用//判断步骤是否有效bool is_valid(i 阅读全文
posted @ 2009-04-10 11:12 liyuxia713 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 用循环队列输出杨辉三角形貌似有点小题大做,但主要是为了练习队列应用嘛。说实在这个小程序也让我调试了很长时间.用这个程序用户就可以自行输入想要的杨辉三角形的行数了。//YHTriangle.cpp//输出杨辉三角形//算法思想:首先在循环队列中存放第三行的 1,2,1和第四行的1.//若循环队列队头元素和队头第二个元素均为1,则从队头删除一个1,在队尾插入两个1.//若不然,将队对头元素和队头第二个元素相加,将和值插入到队尾,删除对头一个元素。//若想输出杨辉三角形n行,将循环队列长度设置成 n+2。//输出:前两行直接输出。定义了print函数控制后面每行输出的元素个数#include &qu 阅读全文
posted @ 2009-04-10 10:12 liyuxia713 阅读(759) 评论(0) 推荐(0) 编辑
摘要: 优点:只需要与杨辉三角形行数相同的存储空间。缺点:因为数组长度不能在运行时确定,所以杨辉三角形的长度不能通过用户自行输入确定。#include<iostream> using namespace std; const int N = 10;int main() { int a[N]={0}; a[0]=1; for(int i=1; i!=N;++i) { int m = N - i; //输出空格 while(m != 0 ) { cout << " "; --m; } //输出 for(int j=0;j != i;++j) cout <& 阅读全文
posted @ 2009-04-10 09:58 liyuxia713 阅读(343) 评论(0) 推荐(0) 编辑