文件夹中包括常用的数据结构的算法

源代码在线查看: queen.cpp

软件大小: 20 K
上传用户: Jonson_zhu
关键词: 数据结构 算法
下载地址: 免注册下载 普通下载 VIP

相关代码

				#include 
				#define nowRow  8
				
				
				   
				int col[8] = {0} ;     //col[i] 标识第 i 列是否安放了皇后
				int md[15] = {0};         //md[k] 标识第 k 条主对角线是否安放了皇后
				int sd[15] = {0};            //sd[k] 标识第 k 条次对角线是否安放了皇后
				int q[8] = {0};        //q[i] 记录第 i 行皇后在第几列
				
				
				
				
				void Queen( int i, int &num ) 
				{
					
					if ( i == nowRow  )              //	//输出一个布局
					{  
						num++;
				       for (int a = 0; a < nowRow; a++ ) 
					   {
						   cout 					   };
				       cout 					   cout 					}
					else
					{
					    for ( int j = 0;  j < 8;  j++ ) 
						{
				   	    	if ( col[j] == 0 && md[8+i-j-1] == 0 && sd[i+j] == 0 )     ////第 i 行第 j 列没有攻击
							{		
				               col[j] = md[8+i-j-1] = sd[i+j] = 1;  
						       q[i] = j;			//在第 i 行第 j 列安放皇后
						       Queen ( i+1 , num);							//在第i+1行安放皇后
				               col[j] = md[nowRow+i-j-1] = sd[i+j] = 0;  q[i] = 0;     	//撤消第 i 行第 j 列的皇后
						   }
				        }  	
					}
				   
				};
				
				
				
				void main()
				{
					void Queen( int i,int &num );
				 //   int nowRow ;
				//	cout				//	cin>>nowRow;
				 
				    int num = 0;
					Queen(0, num);
				}
							

相关资源