java 孤独的骑士,孤独的骑士 (C++代码)

该博客主要介绍了八皇后问题的解题思路,包括每个棋盘位置的8种可能走法,并讨论了如何判断走法是否出界。作者提供了一段C++代码,用于解决八皇后问题,通过遍历所有可能的棋盘状态并检查冲突来实现。代码中包含了输入处理和边界条件检查,输出每种合法的解决方案。
摘要由CSDN通过智能技术生成

解题思路:每个位置其实都有8种走法,但是如果出界则不计

注意事项:getchar(),还有那个数组ch要多留个位置存放'\0'

参考代码:

#include

using namespace std;

int main()

{

int go[8][2]={{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{-1,-2},{-2,-1}};

int n;

cin>>n;

for(int i=1;i<=n;i++)

{

char ch[3];

cin>>ch;

getchar();

int sum=0;

int nx,ny;

ny=ch[1]-'0';

switch(ch[0])

{

case 'a':

nx=1;break;

case 'b':

nx=2;break;

case 'c':

nx=3;break;

case 'd':

nx=4;break;

case 'e':

nx=5;break;

case 'f':

nx=6;break;

case 'g':

nx=7;break;

case 'h':

nx=8;break;

}

int x,y;

for(int j=0;j<8;j++)

{

x=nx+go[j][0];

y=ny+go[j][1];

if(x>=1&&x<=8&&y>=1&&y<=8)sum++;

}

cout<

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值