8.21网易开发笔试第四题

第四题我是用的dfs + 剪枝写的 只过了66%
有大佬帮忙看看哪还有问题吗

int m, n;
int ans = INT_MAX;
int dx[4] = {0, -1, 0, 1}, dy[4] = {-1, 0, 1, 0};

void dfs(vector<vector<int> >& p, int x, int y, int res) {
    if(res >= ans) return;
    if(x == m - 1 && y == n - 1) {
        ans = min(ans, res);
        return;
    }

    for(int i = 0; i < 4; i ++) {
        int a = x + dx[i], b = y + dy[i];
        if(a >= 0 && a < m && b >= 0 && b < n && p[a][b] != 2) {
            tmp = res;
            if(p[a][b] == 1) res += 1;
            else res += 2;
            dfs(p, a, b, res);
            res = tmp;
        }
    }
}

int minSailCost(vector<vector<int> >& input) {
    // write code here
    m = input.size(), n = input[0].size();
    dfs(input, 0, 0, 0);

    return ans;
}

 
#网易笔试##网易##笔试题目#
全部评论
我83.3%郁闷
1 回复 分享
发布于 2021-08-21 19:40
有可能无解
点赞 回复 分享
发布于 2021-08-21 21:47

相关推荐

不愿透露姓名的神秘牛友
07-04 14:35
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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