9.17 京东算法岗笔试题目分享

第一题

道具的魅力值

时间限制: 3000MS
内存限制: 589824KB

题目描述:

在某网络游戏中提供了一个道具库,在道具库中每种道具均有若干件(数量已知),游
戏玩家购买一件道具将获得一 定的魅力值。
已知每种道具的价格和魅力值,请编写一个程序, 在总价格不超过某个上限的情况下使
得所购道具的魅力值之和达到最大。

输入描述

单组输入。
每组测试数据的输入有n+ 1行,n表示道具的种类。
第1行包含两个正整数,分别表示道具种类数n和总价值的上限p,两个数字之间
用空格隔开。(n<=100, p<= 10000)
第2行到第n+ 1行分别对应于第1种道具到第n种道具的信息,每1行包含三个正
整数,两个数字之间用空格隔开,三个正整数分别表示某一种道具的数量、单个
道具的价格和魅力值。

输出描述

每组测试数据的输出只有一行,即道具魅力值的最大和。

样例输入
3 10
2 2 3
1 5 10
2 4 12

样例输出
27

背包问题 python没能A掉 超时了 没找到原因 直接换java抄了一遍

line = input().strip().split()
n, p = [int(x) for x in line]
items = []
for i in range(n):
    line = input().strip().split()
    items.append([int(x) for x in line])
dp = [0] * (p+1)

for j in range(n):
    for t in range(items[j][0]):
        for i in range(p, items[j][1]-1, -1):
            dp[i] = max(dp[i], dp[i-items[j][1]]+items[j][2])

print(max(dp))

第二题

王子与公主

时间限制: 3000MS
内存限制: 589824KB

题目描述:

在一个n行m列的二维地图中,王子的位置为(x1,y1),公主的位置为(x2,y2)。
在地图中设有-些障碍物,王子只能朝上、下、左、右四个方向行走,且不允许走出地
图也不允许穿越障碍物。
请编写一个程序判断王子是否可以顺利走到公主所在的位置。

输入描述

多组输入,第1行输入一个正整数T表示输入数据的组数。
对于每一组输入数据: 输入n+1行。
其中,第1行输入两个正整数n和m表示地图的大小,n为行数,m为列数。
(n<=100,m<=100)
接下来n行表示地图,每一行都有m个字符, 其中S表示王子的位置,E表示公主
的位置,':表示可以通行,'#'表示障碍物(不能通行)。

输出描述

针对每一组输入数据, 判断王子是否能够到达公主所在位置?如果可以输出
"YES",否则输出"NO"。

样例输入
2
2 2
.E
S.
2 2
#E
S#

样例输出
YES 
NO

直接写个dfs做就通过了 裸题

def dfs(graph, i, j):
    if i < 0 or j < 0 or i >= len(graph) or j >= len(graph[0]) or graph[i][j] == '#': return False
    if graph[i][j] == 'E': return True
    graph[i][j] = '#'
    res = dfs(graph, i+1, j) or dfs(graph, i-1, j) or dfs(graph, i, j+1) or dfs(graph, i, j-1)
    graph[i][j] = '.'
    return res

t = int(input().strip())
while t > 0:
    line = input().strip().split()
    n, m = [int(x) for x in line]
    graph = []
    for i in range(n):
        line = input().strip()
        graph.append(list(line))
    res = False
    for i in range(n):
        for j in range(m):
            if graph[i][j] == 'S':
                res = dfs(graph, i, j)
    if res: print("YES")
    else: print("NO")
    t -= 1
#笔试题目##京东#
全部评论
大佬你这第一题复杂度是不是n*n*p啊
点赞 回复 分享
发布于 2020-09-17 23:22

相关推荐

程序员鼓励师阿欢:哈哈哈哈哈笑死我了😂
点赞 评论 收藏
分享
喜欢疯狂星期四的猫头鹰在研究求职打法:短作业优先
点赞 评论 收藏
分享
评论
5
14
分享

创作者周榜

更多
牛客网
牛客企业服务