#不知道哪里来的编译错误.......
#include<bits/stdc++.h>
using namespace std;
struct point
{
int x, y, step;
};
point q[8000000], s, t;
char ca, cb, cc, cd;
int dx[8] = {-2, -1, 1, 2, -2, 2, -1, 1};
int dy[8] = {1, 2, 2, 1, -1, -1, -2, -2};
int f, e;
int main()
{
scanf ("%c%c %c%c", &ca, &cb, &cc, &cd);
s.x = ca - 'a' + 1, s.y = cb - '0', s.step = 0;
t.x = cc - 'a' + 1, t.y = cd - '0';
if (s.x == t.x && s.y == t.y)
{
cout << 0 << endl;
return 0;
}
f = 1, e = 1, q[1] = s;
while (f <= e)
{
point u = q[f];
f++;
point v;
v.step = u.step + 1;
for (int i = 0; i < 8; i++)
{
v.x = u.x + dx[i], v.y = u.y + dy[i];
if (v.x < 1 || v.x > 8) continue;
if (v.y < 1 || v.y > 8) continue;
if (v.x == t.x && v.y == t.y)
{
cout << v.step << endl;
return 0;
}
e++;
q[e] = v;
}
}
return 0;
}
这段代码, 编译器是可以过的, 但是我的OJ网站显示编译错误, 求解。。。。。