题目 http://acm.hdu.edu.cn/showproblem.php?pid=1372
这是一个简单的搜索问题 题目意思是 一只马从一个点到另外一个点就可以了 你要知道象棋中马是怎么走的。
其他的就可以了,刚开始做这个题目的时候 ,由于标记数组为mark[9][9] 但是我在初始化的时候
for(int i=0;i<=9;i++)
for(int j=0;j<=9;j++)
{
mark[i][j]=0;
}
一直错了 就是不知道为什么 呵呵 所以一定要小心哦。。。
ac 代码
#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
struct node{
int x,y,num;};///num 步数
char s[5],s1[5];
int sx,sy,ex,ey,mark[9][9];
int dre[8][2]={1,2,1,-2,2,1,2,-1,-1,2,-1,-2,-2,1,-2,-1}; ///2,1,2,-1,-2,1,-2,-1,1,2,1,-2,-1,2,-1,-2
///马走的坐标
void bfs()
{
for(int i=0;i<9;i++) ///标记初始化
for(int j=0;j<9;j++)
{
mark[i][j]=0;
}
queue<node&