hulu2022届春招笔试题目
我真是太菜了
- 赛车游戏
时间限制: 3000MS
内存限制: 589824KB
题目描述:
小葫芦娃喜欢玩一个赛车游戏,这个游戏有很多计时点,每次进入游戏都从初始计时点开始。游戏规定只能向前开车,到达一个计时点后,有可能出现0-2条向前的岔路,每条岔路尽头都会对应另一个计时点。如果某个计时点没有向前的岔路,那就代表这是一个终点。游戏里保证不会出现环路(正常向前开车永远不会回到一个到达过的计时点),现在小葫芦娃想知道这个游戏有几个终点?
输入描述
输入为2行,第一行是一个整数m,代表第二行数组的长度。第二行是一个整数数组,数组里的第1个数代表第一个计时点(初始计时点)的编号,第2-3个数代表第一个计时点对应的两条向前的岔路尽头的计时点编号,然后是第3-7个数,第8-15个数,以此类推(可以看输入样例和提示中图例)。
所有的计时点编号都是正的,且编号均小于10^6,-1表示某条岔路不存在。
第一行输入数字m保证等于2^n - 1(0 <= n <= 16)。
输出描述
输出为一个整数,表示终点的数目。
样例输入
15
1 2 3 -1 4 5 6 -1 -1 7 8 9 -1 -1 10
样例输出
4
提示
输入样例对应的图例:
输入图例中空出的地方都会在数组里用-1表示。这个例子里有4个终点(7,8,9,10),所以输出是4。
2. 图案匹配
时间限制: 5000MS
内存限制: 589824KB
题目描述:
在一块尺寸为M*N的画布中,’-’表示空白,’*’表示有颜色。同时,我们得到一个尺寸为A*B的图案,’-’表示空白,’*’表示有颜色。最后,希望知道该图案在画布中出现多少次。注意,画布中匹配到的图案可以有覆盖。
输入描述
第1行: 2个正整数整数 M, N。M表示画布的高度,N表示画布的宽度
第2 .. M+1行: 画布中第i行,第j列的标记, - 或者 *
第M+2行:2个正整数 A, B。A表示图案的高度,B表示图案的宽度
第M+3 .. M+A+2行:图案中第i行,第j列的标记, - 或者 *
(1<=A<=M<=100,1<=B<=M<=100,1<=A*B<=16)
输出描述
一个整数,表示该图案最多出现多少次
样例输入
2 6
-****-
-****-
2 2
**
**
样例输出
3
3. hulu巴菲特
时间限制: 5000MS
内存限制: 589824KB
题目描述:
葫芦娃们平日里大多热爱理财并且积极投身股市,但是股市充满了波动,获得收益的同时风险也很大。有一天,一个葫芦娃看着过去N个时刻内的净收益情况(假设为整数,可正可负)发出了感慨,要是能重新选择一次买入再卖出的机会(假设整时刻买卖,立即成交,收益即为两个时刻间的净收益和),自己一定能赚大钱。他理性分析了一下,以自己的交易策略,自己绝对无法接受净收益为负数的时刻多于M个,同时最终卖出的时候总收益一定不会超过K元,希望你帮他算一下在这个条件下能达到的总收益最大值(可以不操作)。
输入描述
第1行:N M K三个整数 (N代表有多少个时刻, 2 <= N <= 1e6, M代表选择的时刻间净收益负数不能多于的次数,0 <= M <= N, K代表总收益不能超过的数字, 0 <= K <= 1e15)
第2行:N个整数Xi代表N个时刻的净收益 (-1e9 <= Xi <= 1e9)
输出描述
一个整数,表示在这个条件下总收益能达到的最大值
样例输入
5 2 15
3 -7 8 -5 9
样例输出
12