网易游戏测试工程师
(一). A游戏又要开新服了,为了在短时间内冲排名,你得尽可能多地完成游戏任务。通过事先查攻略我们知道了所有的游戏任务,以及每个任务的时间窗口。一旦选定了做某个任务,在所选定任务的整个持续时间内只能做这个任务,且只能等到当前任务完成才能开展下一个任务,而上一个任务的结束时间点和下一个任务的开始时间点可以重合。请问如何安排才能尽可能多地完成任务。
输入描述:
第一行一个整数n(0 <= n <= 1000),代表一共有n个任务。接下来n行每行两个整数表示任务的起止时间,由距离开服时间的分钟数表示。结束时间一定大于开始时间。
输出描述:
最多能完成任务的个数
输入例子:
4
6 9
2 6
4 5
3 7
输出例子:
2
(二). 我们知道,淘汰赛是一种很经典但却不太公平的比赛赛制。假如有N个人参加淘汰赛,那么总共将要进行N-1场比赛,但每个人赢得冠军所需要获胜的场次却并不一样。假设每场比赛都只有胜败没有平局。为了方便,我们这样来描述一场淘汰赛的赛果:
(1) 将参赛者编号1到N,其中冠军号为1号。
(2) 如果一个参赛者输了,那么他即被淘汰,不会再继续参加其他场次的比赛。
(3) 编号2到N的参赛者,最终被a2…aN编号参赛者淘汰。
整场比赛可以用一个二叉树来表示(如下图),我们定义Depth为这个二叉树的最大深度,也就是从比赛开赛到决出冠军所需要的场次轮数。
你的任务是根据给定的N(2 <= N <= 100000),和a2…aN(1<=ai<=N,2<=i<=N),求淘汰赛的可能的最小Depth(给定的输入一定存在淘汰赛满足约束)。
输入描述:
第一行为一个正整数N(2<=N<=100000),代表参与淘汰赛的总人数,随后N-1行为a2…aN,代表第i位参赛者被ai(1<=ai<=N,2<=i<=N)号参赛者淘汰。
如图参赛者共有5位 N=5,其中2号选手被1号打败,3号选手被1号打败,4号选手被2号打败,5号选手被4号打败,则如上情况。
输出描述:
可能的淘汰赛的最小Depth
输入例子:
5
1
1
2
4
输出例子:
3
(三). 祖玛游戏是一款经典的休闲游戏。玩家将手中的彩球插入轨道中的彩色求队列中,形成三个或以上相同颜色连续的球则可以消除,这个消除过程会持续到插入位置不能再搭乘消除条件为止。玩家手上的彩球可以选择插入到轨道中的彩球队列中,或者是丢掉。
祖玛游戏高手了与迎接这样一种挑战:通过将手上的彩球合理地插入到场上的彩球队列中,最终让队列中所有的球按照规则全部消除完。现在已知了轨道中彩球的序列,以及玩家手上彩球出现的序列,请判断这场游戏能否达成消除全部彩球的挑战。
输入描述:
输入数据N(N<=200),表示有N场游戏挑战数据需要评判。
接下来是N行数据,每一行数据由两个字符串组成。前一个字符串表示初始轨道中的彩球序列,后一个字符串表示玩家手上彩球出现的序列。两个字符串间以一个空格隔开。
每个字符串只会由R(红色)、G(绿色)、B(蓝色)、Y(黄色)、W(白色)五个大小字母组成,初始轨道字符串不超过12个字符,玩家手上彩球序列字符串不超过6个字符。
输出描述:
每场游戏能否消除所有的彩球。如果可以,则输出True;否则输出False。每行输出一个判定结果,请不要输出多余的空行。
Source:网友笔试题,欢迎分享答案
2017.04.15