关注
三面第一题是不是记录上一次走的方向然后深搜就行了🤔
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> mp = {
{0, 0, 0, 0},
{2, 0, 1, 2},
{0, 0, 2, 0},
{1, 2, 0, 0}};
// 2表示障碍,1表示要消得,0表示没有障碍
int n = 4;
int cg = 100; // 拐弯次数
int sx = 1, sy = 2, dx = 3, dy = 0;
int d[4][2] = {0, 1, 1, 0, 0, -1, -1, 0};
int vis[4][4];
void dfs(int x, int y, int now, int fx)
{
// now是已经拐弯的次数,fx是上一次的方向
if (now > 16)
return;
if (x == dx &;&; y == dy)
{
cg = min(cg, now); // 更新最小拐弯次数
return;
}
for (int i = 0; i < 4; i++)
{
int dx = x + d[i][0], dy = y + d[i][1];
if (dx < 0 || dx >= n || dy < 0 || dy >= n || vis[dx][dy] || mp[dx][dy] == 2)
continue;
vis[dx][dy] = 1;
if (fx == i)
dfs(dx, dy, now, fx);
else
dfs(dx, dy, now + 1, i);
vis[dx][dy] = 0;
}
}
int main()
{
dfs(sx, sy, 0, -1);
return 0;
}
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
23689次浏览 417人参与
# 在国企工作的人,躺平了吗? #
333136次浏览 3862人参与
# 实习吐槽大会 #
25710次浏览 125人参与
# 商战,最累的是我们 #
12678次浏览 49人参与
# 晒一晒你的工位 #
83965次浏览 299人参与
# 我的租房踩坑经历 #
19482次浏览 230人参与
# 穿越回高考你还会选现在的专业吗 #
17580次浏览 230人参与
# 毕业旅行去哪玩儿 #
968次浏览 29人参与
# 小厂实习有必要去吗 #
46359次浏览 267人参与
# 求职你最看重什么? #
69512次浏览 393人参与
# 牛友们,签完三方你在忙什么? #
94850次浏览 837人参与
# 夸夸我的求职搭子 #
190740次浏览 1890人参与
# 摸鱼打卡站 #
39285次浏览 687人参与
# 携程求职进展汇总 #
529843次浏览 3944人参与
# 产运销实习日记 #
51935次浏览 551人参与
# 打工人锐评公司红黑榜 #
145278次浏览 906人参与
# 网易求职进展汇总 #
101807次浏览 982人参与
# 你小时候最想从事什么职业 #
95453次浏览 1719人参与
# 作业帮求职进展汇总 #
52400次浏览 354人参与
# 高学历就一定能找到好工作吗? #
47530次浏览 589人参与