阿里笔试4.8

阿里笔试4.8号

一道ac一道15%

data = list(map(int,input().split()))
T = data[0]

for _ in range(T):
    [n,m,a,b] = list(map(int,input().split()))
    if b==1:
        print(min(n//a,m))
        continue
    if n<a:
        print(0)
        continue
    elif n==a:
        print(min(b,m))
        continue
    if n*b>=m*a:
        print(m)
    else:
        print(n*b//a)

运气AC,推了一下,某些状态下所有木偶都能干掉,然后排除一些特殊情况

def solution(matrix, k, n):
    directions = [[0,1],[1,0],[0,-1],[-1,0]]
    max_re = [0]
    def dfs(i, j, re):
        for dire in directions:
            for step in range(1,k+1):
                new_i, new_j = i+step*dire[0],j+step*dire[1]
                if 0<=new_i<n and 0<=new_j<n:
                    if matrix[new_i][new_j]>matrix[i][j]:
                        max_re[0] = max(re+matrix[new_i][new_j],max_re[0])
                        dfs(new_i, new_j, re+matrix[new_i][new_j])
                else:
                    break
    dfs(0,0,matrix[0][0])
    return max_re[0]

data = list(map(int,input().split()))
T = data[0]

for _ in range(T):
    [n, k] = list(map(int,input().split()))
    matrix = []
    for i in range(n):
        matrix.append(list(map(int,input().split())))
    print(solution(matrix,k,n))

15%,显示的超时,没有思路了,可能python加递归就是这样。555

def solution(matrix, k, n):
    directions = [[0,1],[1,0],[0,-1],[-1,0]]
    dp = [[-1]*n for _ in range(n)]
    def dfs(i, j):
        flag = 0
        re = matrix[i][j]
        temp_max = matrix[i][j]
        for dire in directions:
            for step in range(1,k+1):
                new_i, new_j = i+step*dire[0],j+step*dire[1]
                if 0<=new_i<n and 0<=new_j<n:
                    if matrix[new_i][new_j]>matrix[i][j]:
                        if dp[new_i][new_j]==-1:
                            temp_ans = re + dfs(new_i, new_j)
                        else:
                            temp_ans = re + dp[new_i][new_j]
                        temp_max = max(temp_max, temp_ans)
                else:
                    break
        dp[i][j] = temp_max
        return temp_max
    dfs(0,0)
    print(dp)
    return dp[0][0]

这个应该就能AC了吧,加上dp存储一些已经确定过的点,idea是别人的

#阿里笔试2020##阿里巴巴##笔试题目#
全部评论
大佬大佬,攻击范围的含义把我绕进去了
点赞 回复 分享
发布于 2020-04-08 17:14
大佬能把第一题题目简单描述一下么?
点赞 回复 分享
发布于 2020-04-08 17:16
🙃第一题我证明了好久这个,发现证不出来就没管了,没想到这么简单,好后悔啊,大家都AC的题我爆0
点赞 回复 分享
发布于 2020-04-08 17:36

相关推荐

11-02 09:49
已编辑
货拉拉_测试(实习员工)
热爱生活的仰泳鲈鱼求你们别卷了:没事楼主,有反转查看图片
点赞 评论 收藏
分享
孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
评论
1
3
分享
正在热议
# 25届秋招总结 #
442570次浏览 4512人参与
# 春招别灰心,我们一人来一句鼓励 #
41986次浏览 533人参与
# 阿里云管培生offer #
120263次浏览 2220人参与
# 地方国企笔面经互助 #
7962次浏览 18人参与
# 同bg的你秋招战况如何? #
76743次浏览 563人参与
# 实习必须要去大厂吗? #
55775次浏览 961人参与
# 北方华创开奖 #
107436次浏览 599人参与
# 虾皮求职进展汇总 #
115687次浏览 886人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11584次浏览 287人参与
# 实习,投递多份简历没人回复怎么办 #
2454714次浏览 34857人参与
# 提前批简历挂麻了怎么办 #
149906次浏览 1977人参与
# 在找工作求抱抱 #
906025次浏览 9421人参与
# 如果公司给你放一天假,你会怎么度过? #
4757次浏览 55人参与
# 你投递的公司有几家约面了? #
33206次浏览 188人参与
# 投递实习岗位前的准备 #
1195950次浏览 18549人参与
# 机械人春招想让哪家公司来捞你? #
157635次浏览 2267人参与
# 双非本科求职如何逆袭 #
662248次浏览 7397人参与
# 发工资后,你做的第一件事是什么 #
12734次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35815次浏览 384人参与
# 简历中的项目经历要怎么写? #
86920次浏览 1516人参与
# 参加完秋招的机械人,还参加春招吗? #
20133次浏览 240人参与
# 我的上岸简历长这样 #
452024次浏览 8088人参与
牛客网
牛客企业服务