40道选择题,2道编程题题目一:现在有n个包子店,下标为0~n-1,每个包子店可以买ai个包子,小明买包子有个癖好,总是喜欢去当前拥有的包子%n的店买,求买了m次后小明手上有多少个包子思路:m很大,因此枚举会超时,且m的数值能远远大于n,因此根据同余定理,买包子的顺序可能会存在环,因此总数量为入环前的包子数+环上的包子数*循环的次数+最后一次不完全环的次数题目二:现在有n个节点,有m条无向边形成无向图,每条边都有一个权重wi,每个节点都站着一个人,现在从任意一个人开始,可以将球传给距离小于等于k的另一个人,且不可将球传给上一个人,直到不能传球为止,求这个无向图有多少个节点可以作为终止节点。题目保证有效路径不会生成环思路:由于有效路径不会存在环,因此该图可以看作为一个森林,且度大于等于2的节点从一条边进入后肯定会从另一条边出去,因此将森林中度小于等于1的节点求出即可,遍历一遍所有边将权重小于等于k的边的两节点即可求每个节点的度