第三题(最多喝多少天咖啡): #coding=utf-8 import sys def func(k, m, days):     if k == 0:         return 30     if m == 0:         return len(range(1, 31, k + 1))     # 初始化:长度为30的列表,将固定喝咖啡的日子置为1,其他为0     dp = [1 if i + 1 in days else 0 for i in range(30)]     for i in range(30):         if dp[i] == 1:             continue         # 如果第i天前面k天没喝咖啡,同时后面k天也没喝,那第i天就可以喝,置为1         if sum(dp[max(0, i - k) : i]) == 0 and sum(dp[i+1 : i+1+k]) == 0:             dp[i] = 1     return sum(dp) if __name__ == "__main__":     T = int(sys.stdin.readline().strip())     for _ in range(T):         k, m = list(map(int, sys.stdin.readline().strip().split()))         days = list(map(int, sys.stdin.readline().strip().split()))         print(func(k, m, days))
点赞 评论

相关推荐

05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
明天不下雨了_人机版:让我们大声的说出来:以前的未来就是现在
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务