#中国电信##校招笔试#求大佬看看我今天笔试第二题的代码,为啥自测通过了但是提交之后用例一个没过?
def iftrue(a, c):
    num1 = 0
    num2 = 0
    num3 = 0
    for i in range(1, a ):
        num1 = int(i)
        for j in c:
            num2 = num1 + int(j)
            for k in c:
                num3 = num2 + int(k)
                if int(num1) + int(num2) + int(num3) == a and num1<25 and num2<25 and num3<25:
                    return change(num1, num2, num3)
                    break
    return "NO"

def change(num1, num2, num3):
    return chr(num1 + 96) + chr(num2 + 96) + chr(num3 + 96)

n = int(input())
str = [0] * n
for i in range(n):
    a, b = map(int, input().split())
    c = input().split()
    str[i] =iftrue(a, c)
for i in str:
    print(i)
全部评论
是差的绝对值,还要往前看。比如差值数组只有2,目标是5,aca是可以的。
1 回复 分享
发布于 09-27 11:11 北京
num1<25 and num2<25 and num3<25 这里不应该是<27? 还有前面说的问题,没考虑反向的
点赞 回复 分享
发布于 09-27 11:18 浙江

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务