vivo 09.12笔试

大佬们能帮看看为什么我第一题只A了10%吗,我觉得没什么问题呀。。。
后端,走有障碍物迷宫的那个
#include <iostream>
#include <string>
#include <vector>
#include <queue>
#include <sstream>
#include <algorithm>

using namespace std;

int n, bx, by, ex, ey;
vector<vector<char> > map;

vector<int> dx = { 0, 0, 1, -1 };
vector<int> dy = { 1, -1, 0, 0 };

bool go(int x, int y, vector<vector<bool> >& memo) {
	if (x < 0 || x >= n || y < 0 || y >= n || memo[x][y] == true || map[x][y] == '#' || map[x][y] == '@')
		return false;
}

int main() {
	cin >> n;
	cin >> bx >> by >> ex >> ey;
	vector<vector<bool> > memo(n, vector<bool>(n, false));
	for (int i = 0; i < n; ++i) {
		string str;
		cin >> str;
		vector<char> tmp;
		for (int j = 0; j < n; ++j) {
			tmp.push_back(str[j]);
		}
		map.push_back(tmp);
	}

	int len = 0;
	// 开始遍历最优路径
	queue<pair<int, int> > q;
	q.push({ bx, by });
	while (!q.empty()) {
		int sz = q.size();
		++len;
		for (int i = 0; i < sz; ++i) {
			pair<int, int> top = q.front();
			q.pop();
			int cx = top.first;
			int cy = top.second;
			memo[cx][cy] == true;
			if (top.first == ex && top.second == ey) {
				cout << len << endl;
				return 0;
			}
			for (int i = 0; i < 4; ++i) {
				int nx = cx + dx[i];
				int ny = cy + dy[i];
				if (go(nx, ny, memo))
					q.push({ nx, ny });
			}
		}
	}

	cout << -1 << endl;

	return 0;
}


#vivo#
全部评论
1个小时能做完这三题的大佬也不会去vivo吧🤣
8 回复 分享
发布于 2020-09-12 21:34
vivo是不打算招人了吗?这题目也太难了,时间还这么少,就一个小时做3道题
3 回复 分享
发布于 2020-09-12 21:31
我先做了23最后做的1 没时间直接蒙了起点终点的绝对值之和- - a了50% 然后输出-1a了10% 也就是说瞎蒙最多可以a60%🤣
2 回复 分享
发布于 2020-09-12 21:29
兄弟,我print(-1)就是10%
2 回复 分享
发布于 2020-09-12 21:28
花了半个小时把所有测试用例的答案偷跑出来了{-1:10%,13:20%,17:10%,18:10%19:20.20:10%21:10%,28:10%}然后咋整
1 回复 分享
发布于 2020-09-12 21:48
坐标弄反了,len++的条件也错了
1 回复 分享
发布于 2020-09-12 21:33
第一道卡了老半天(第一道样例有问题的吧),结果后面的都没来得及做啊
1 回复 分享
发布于 2020-09-12 21:29
第三题题目有人能说说吗?
点赞 回复 分享
发布于 2020-09-12 21:55
第一题有python 的代码吗?渣渣想学学😥
点赞 回复 分享
发布于 2020-09-12 21:48
我直接算的坐标间的距离50
点赞 回复 分享
发布于 2020-09-12 21:36
我也使的bfs,0分~  忘了骗分😪
点赞 回复 分享
发布于 2020-09-12 21:34
坐标应该是先横坐标再纵坐标吧,我一开始也弄反了😅
点赞 回复 分享
发布于 2020-09-12 21:31
需要几道才有面试,
点赞 回复 分享
发布于 2020-09-12 21:31
优先队列BFS裸题啊,你用普通队列,怎么保证从当前距离最近处开始搜的,棋盘上的数字是有权值的吧
点赞 回复 分享
发布于 2020-09-12 21:31
经过数字的话路径应该加上数字,不是加1
点赞 回复 分享
发布于 2020-09-12 21:30
直接 cout << 13 << endl; 是20%
点赞 回复 分享
发布于 2020-09-12 21:30
++lens 改在for 之后,我通过了60%🤣
点赞 回复 分享
发布于 2020-09-12 21:29
游戏那个测试用例的输出是20%😅;依赖关系那个题,测试用例输出10%;
点赞 回复 分享
发布于 2020-09-12 21:29
好像是先y后x......
点赞 回复 分享
发布于 2020-09-12 21:27
一样10%,而且我觉得输入测试用例的输出应该是10...
点赞 回复 分享
发布于 2020-09-12 21:26

相关推荐

榕城小榕树:1200单休,我去干点啥别的不好
点赞 评论 收藏
分享
07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务