度小满笔试Java

1、隔山打牛

“你可曾听闻一招从天而降大掌法?”

在一部游戏中有这样一个技能,假设地图是一条直线,长度为n,人物所处的位置是x,则可以对x,2*x和2*x+1三格内的敌人分别造成一点伤害,要求2*x+1<=n。

设为这个地图的格子做标记为1-n,第i个格子中有一个血量为a_i的敌人。请问你至少使用多少次技能,可以杀死这个地图上所有敌人。

输入

输入第一行包含一个正整数n,表示格子的数量(1<=n<=100)

输入第二行包含n个正整数a_i,表示第i个格子中敌人的血量。

输出

输出仅包含一个正整数,即至少使用多少次技能。

样例输入
5
1 2 3 4 5
样例输出
8

2、车辆过桥
题目描述:
有 N 辆车要陆续通过一座最大承重为 W 的桥,其中第 i 辆车的重量为 w[i],通过桥的时间为 t[i]。要求: 第 i 辆车上桥的时间不早于第 i - 1 辆车上桥的时间;
任意时刻桥上所有车辆的总重量不超过 W。
那么,所有车辆都通过这座桥所需的最短时间是多少?

输入
第一行输入两个整数 N、W(1 <= N、W <= 100000)。第二行输入 N 个整数 w[1] 到 w[N](1 <= w[i] <= W)。第三行输入 N 个整数 t[1] 到 t[N](1 <= t[i] <= 10000)。

输出
输出一个整数,表示所有车辆过桥所需的最短时间。

样例输入
4 2
1 1 1 1
2 1 2 2
样例输出
4
提示
样例解释
不妨设第 1 辆车在 0 时刻上桥,则:
第 2 辆车也可以在 0 时刻上桥;
第 2 辆车在 1 时刻下桥,此时第 3 辆车上桥;
第 1 辆车在 2 时刻下桥,此时第 4 辆车上桥;
第 3 辆车在 3 时刻下桥;
第 4 辆车在 4 时刻下桥,此时所有车辆都通过这座桥。

#度小满##笔试题目#
全部评论
import java.util.Scanner; public class Main {     public static void main(String[] args) {           System.out.println(4);     } }
点赞 回复 分享
发布于 2019-09-29 20:29
考试结束了?就在交流了?
点赞 回复 分享
发布于 2019-09-29 20:31
度小满的笔试感觉是做过的最难的😄是我太菜
点赞 回复 分享
发布于 2019-09-29 20:15
格子血量变为0不往后走 要把能隔山打牛到的格子都血量变为0才往后走 这题意不清晰,写个锤子
点赞 回复 分享
发布于 2019-09-29 20:37
第一个36,每次选最大,然后减1
点赞 回复 分享
发布于 2019-09-29 20:21
感觉不如多花点时间好好做选择题,编程题写不出来
点赞 回复 分享
发布于 2019-09-29 20:20
悬赏1也太小气了 把
点赞 回复 分享
发布于 2019-09-29 20:14
第二题的,不知道对不对 import numpy as np if __name__=='__main__':     N,W = list(map(int, input().strip().split()))     car_w = list(map(int, input().strip().split()))     car_t = list(map(int, input().strip().split()))     ret  = 0     temp_w = []     temp_t = []     for i in range(N):         if sum(temp_w) + car_w[i] <= W :             temp_w.append(car_w[i])             temp_t.append(car_t[i])         else :             while sum(temp_w) + car_w[i] > W:                 min_index = np.argmin(temp_t)                 min_t = temp_t[min_index]                 ret += min_t                 temp_t.pop(min_index)                 temp_t = list(map(lambda x:x-min_t, temp_t))                 temp_w.pop(min_index)             temp_w.append(car_w[i])             temp_t.append(car_t[i])         if i == N - 1:             ret += max(temp_t)     print(ret)
点赞 回复 分享
发布于 2019-09-29 22:47
64,45 最后几分钟想到可能导致64的原因了😭
点赞 回复 分享
发布于 2019-09-29 20:38
只过了百分之64,没找到问题,吐血
点赞 回复 分享
发布于 2019-09-29 20:31
64 100第一题很奇怪
点赞 回复 分享
发布于 2019-09-29 20:31
点赞 回复 分享
发布于 2019-09-29 20:28
第一题1-n的意思是1到n,格子是从1开始排到n。 但是样例给的我手算是11次,我也不知道是什么情况。
点赞 回复 分享
发布于 2019-09-29 20:27
第一题这不是堆的根和左右子节点吗😉
点赞 回复 分享
发布于 2019-09-29 20:27
第一个有人写出来吗
点赞 回复 分享
发布于 2019-09-29 20:17
隔山打牛那个有没有思路啊
点赞 回复 分享
发布于 2019-09-29 20:17
打扰了,告辞
点赞 回复 分享
发布于 2019-09-29 20:17
车辆过桥那个貌似见过,但有不一样https://blog.csdn.net/ihengrui/article/details/79920186
点赞 回复 分享
发布于 2019-09-29 20:16
哥们是不是昨天开的奖😄
点赞 回复 分享
发布于 2019-09-29 20:13
同问
点赞 回复 分享
发布于 2019-09-29 20:10

相关推荐

现在才开始投还有可能吗😭😭😭
牛客621925249号:开秋招了已经
点赞 评论 收藏
分享
震撼沃玛一整年:查看图片
点赞 评论 收藏
分享
评论
1
31
分享

创作者周榜

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