笔试强训day05


游游的you

from math import *
from functools import *
from itertools import *
from bisect import *
def MII():
    return map(int, input().split())
def I():
    return input()
def II():
    return int(input())
def MSI():
    return map(str, input().split())
def LII():
    return list(int(x) for x in input().split())
def LSI():
    return list(s for s in input().split())
q = II()
for _ in range(q):
    a, b, c = MII()
    t1 = min(a, b, c)
    t2 = max(0, b - t1 - 1)
    print(t1 * 2 + t2)


腐烂的苹果

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param grid int整型二维数组
# @return int整型
#
class Solution:
    def rotApple(self, grid: List[List[int]]) -> int:
        n,m = len(grid),len(grid[0])
        rot = {(i,j) for i in range(n) for j in range(m) if grid[i][j] == 2}
        fre = {(i,j) for i in range(n) for j in range(m) if grid[i][j] == 1}
        time = 0
        while fre:
            if not rot: #新鲜的苹果还存在,但是却没有苹果会腐烂,说明剩下的苹果都不会腐烂了,因此返回-1
                return -1
            rot = {(i+dx,j+dy) for i,j in rot for dx,dy in {(0,1),(0,-1),(1,0),(-1,0)} if (i+dx,j+dy) in fre} #在新鲜的苹果里找回变腐烂的苹果
            fre -= rot
            time += 1
        return time



孩子们的游戏

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param n int整型 
# @param m int整型 
# @return int整型
#
import sys
import functools

sys.setrecursionlimit(300000)

class Solution:
    def LastRemaining_Solution(self , n: int, m: int) -> int:
        # write code here
        @functools.cache
        def dfs(n,m)->int:
            if n == 1:
                return 0
            x = dfs(n-1,m)
            return (x+m)%n
        if n==0 or m==0:
            return -1
        return dfs(n,m)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值