八皇后问题

#include "stdio.h" 
#include <stdlib.h> 


static char Queen[8][8]; 
static int a[8]; 
static int b[15]; 
static int c[15]; 
static int iQueenNum=0; 


void qu(int i); 


int main() 

int iLine,iColumn; 
for(iLine=0;iLine<8;iLine++) 

a[iLine]=0; 
for(iColumn=0;iColumn<8;iColumn++) 
Queen[iLine][iColumn]='*'; 

for(iLine=0;iLine<15;iLine++) 
b[iLine]=c[iLine]=0; 

qu(0); 
return 0; 



void qu(int i) 

int iColumn; 

for(iColumn=0;iColumn<8;iColumn++) 

if(a[iColumn]==0&&b[i-iColumn+7]==0&&c[i+iColumn]==0) 

Queen[i][iColumn]='@'; 
a[iColumn]=1; 
b[i-iColumn+7]=1; 
c[i+iColumn]=1; 
if(i<7) 
qu(i+1); 
else 

int iLine,iColumn; 
printf("No.%d£o\n",++iQueenNum); 
for(iLine=0;iLine<8;iLine++) 

for(iColumn=0;iColumn<8;iColumn++) 
printf("%c ",Queen[iLine][iColumn]); 

printf("\n"); 

system("pause"); 

printf("\n\n"); 

Queen[i][iColumn]='*'; 
a[iColumn]=0; 
b[i-iColumn+7]=0; 
c[i+iColumn]=0; 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值