求大佬帮看qwq....
  • 板块学术版
  • 楼主Sunzhenan2009
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/6/11 19:45
  • 上次更新2023/10/23 13:20:35
查看原帖
求大佬帮看qwq....
670238
Sunzhenan2009楼主2023/6/11 19:45

#不知道哪里来的编译错误.......

#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网站显示编译错误, 求解。。。。。

2023/6/11 19:45
加载中...