2017.09.05亚马逊内推笔试

中间系统崩溃真是蛋疼。。

第一题:

主人小X过生日玩游戏,n个客人做成一个小圈圈击鼓传花,客人编号0 - (n-1),小X开始击鼓,每隔K秒击鼓停一次,这时停在的地方的人被淘汰,这个人下场前把小花花给下一个人,求问最终剩下的那个没有被淘汰的人的编号。(传花不计入时间)

输入 客人总数n 时间间隔k

输出 最终剩下的那个人的编号

样例

n=5, k=2

输出3

第一轮淘汰2,第二轮淘汰0,第三轮淘汰4,第四轮淘汰1

第二题:

还是主人小X的生日,他有一大块n*m的大水果蛋糕,被分成了n*m小块,每块上面一个水果,宾客对水果有不同的喜好,分到自己喜欢的蛋糕的人就开开心心~求问如何分蛋糕可以使得最多的人开开心心~

输入 n m 宾客数k 以及每个宾客喜好的list组成的list

输出 最多开心的人数

样例

输入 n=2 m=3 k=6 [[1] [2] [3] [4] [5] [6]]

输出 6

输入 n=2 m=2 k=3 [[1 2 3] [2] [1]]

输出 3

第一个人拿3 第二个人拿2 第三个人拿1

第三题:

小X生日终于过完了,现在有个主人要选minister(编号1-n),每个minister有一个efficiency,问怎么选minister可以使得总的efficiency最大。

但是吧,他们每个人可以投选谁,而他们为了礼尚往来呢,你给我投了票,我也就给你投个票,主人看穿了这个阴谋,所以他如果选一个人A的话,那么所有投票给A的人便不会被选。问如何选择可以使得efficiency最大

输入 n(minister总数) 每个efficiency列表 互投列表

输出 最大的efficiency值

样例 n=7 [5 10 3 4 5 20 30] [[1 2] [1 3] [1 4] [2 4] [5 6] [3 7]]

选1 6 7 =55

或者 2 6 7 =60

或者3 2 6 =33

或者。。。

最大是60(我自己编的样例。。不知道对不对= =)

你可能感兴趣的:(2017.09.05亚马逊内推笔试)