寻找身高相近的小朋友

while True:
    a = input()
    b = input()

    xmh1 = int(a.split()[0])
    n = int(a.split()[1])
    hlist = list(map(lambda x: int(x), b.split()))
    print(hlist)
    for i in range(n):
        for j in range(0, n - i - 1):
            if abs(hlist[j] - xmh1) > abs(hlist[j + 1] - xmh1):
                hlist[j], hlist[j + 1] = hlist[j + 1], hlist[j]
            if abs(hlist[j] - xmh1) == abs(hlist[j + 1] - xmh1) and hlist[j] > hlist[j + 1]:
                hlist[j], hlist[j + 1] = hlist[j + 1], hlist[j]
    endlist = list(map(lambda x: str(x), hlist))
    print(" ".join(endlist))

围棋的气

while True:
    try:
        black=list(map(int,input().split()))
        white=list(map(int,input().split()))
        black1=[]
        white1=[]
        for i in range(0,len(black),2):
            co=[black[i],black[i+1]]
            black1.append(co)
        for i in range(0,len(white),2):
            co=[white[i],white[i+1]]
            white1.append(co)
        plate=[[0 for j in range(19)] for i in range(19)]
        for chess in black1:
            plate[chess[0]][chess[1]]=1
        for chess in white1:
            plate[chess[0]][chess[1]]=2
        def qi(x,plate):
            cnt=0
            for i in range(19):
                for j in range(19):
                    if plate[i][j]==0:
                        if i+1<19 and plate[i+1][j]==x:
                            cnt+=1
                        elif i-1>=0 and plate[i-1][j]==x:
                            cnt+=1
                        elif j+1<19 and plate[i][j+1]==x:
                            cnt+=1
                        elif j-1>=0 and plate[i][j-1]==x:
                            cnt+=1
                    else:
                        continue
            return cnt
        black_cnt=qi(1,plate)
        white_cnt=qi(2,plate)
        print('{} {}'.format(black_cnt,white_cnt))
    except:
        break

用连续自然数之和来表达整数

n = int(input())
outlist = []
for i in range(1,n+1):
    sum1 = 0
    for j in range(i, n + 1):
        sum1 = j + sum1
        if sum1 == n:
            list1 = [k for k in range(i, j + 1)]
            outlist.append(list1)
        if sum1 >=9:
            break
outlist.reverse()
for list2 in outlist:
    a = "+".join(list(map(lambda x: str(x), list2)))
    print("{}={}".format(str(n), a))
print("Result:{}".format(str(len(outlist))))

开源项目热榜

n = int(input())
wdus = list(map(lambda x: int(x), input().split()))
nameList = []
scoreList = []
for i in range(n):
    proname_scores = input().split()
    proname = proname_scores.pop(0)
    scores = 0
    for j in range(len(wdus)):
        scores += int(wdus[j]) * int(proname_scores[j])

    nameList.append(proname)
    scoreList.append(scores)

for i in range(n):
    for j in range(n - i - 1):
        if scoreList[j + 1] > scoreList[j]:
            nameList[j], nameList[j + 1] = nameList[j + 1], nameList[j]
            scoreList[j], scoreList[j + 1] = scoreList[j + 1], scoreList[j]
        if scoreList[j + 1] == scoreList[j]:
            c = sorted([nameList[j], nameList[j + 1]])
            nameList[j], nameList[j + 1] = c[0], c[1]

for k in nameList:
    print(k)

API集群负载统计

n = int(input())
alllist = [[i for i in input().split("/")][1:] for k in range(n)]
outinput = input().split()
lev = int(outinput[0])
levname = outinput[1]
cnt = 0
for i in alllist:
    if len(i) >= lev:
        if i[lev - 1] == levname:
            cnt += 1
print(cnt)

整数对最小和

line1 = input().split()
line2 = input().split()
n = int(line1.pop(0))
arr1 = list(map(lambda x: int(x), line1))
m = int(line2.pop(0))
arr2 = list(map(lambda x: int(x), line2))
k = int(input())
newarr = []
for i in range(n):
    for j in range(m):
        newarr.append(arr1[i] + arr2[j])
outarr = sorted(newarr)
# newarr.sort()


if 0 < k <= (n * m):
    a = 0
    for z in range(k):
        a += outarr[z]
    print(a)
else:
    raise Exception("KD的参数不对")

素数之积

import math


def isPrime(n):
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
        else:
            return True


num = int(input())
f = False
for i in range(2, int(math.sqrt(num)) + 1):
    if num % i == 0 and isPrime(i):
        if isPrime(num // i):
            print(i, num // i)
            f = True
            break

if f == False:
    print(-1, -1)

CPU算力分配

line1 = input().split()
lineA = list(map(lambda x: int(x), input().split()))
lineB = list(map(lambda x: int(x), input().split()))
n = int(line1[0])
m = int(line1[1])
sumA = sum(lineA)
sumB = sum(lineB)
outdict = {}
for i in range(n):
    for j in range(m):
        if sumA - lineA[i] + lineB[j] == sumB - lineB[j] + lineA[i]:
            outdict.update({str(lineA[i]): lineB[j]})

outarr = list(map(lambda x: int(x), outdict.keys()))
outarr.sort()
print(outarr[0], outdict[str(outarr[0])])

最大坐标值

n = int(input())
m = int(input())
arr = list(map(lambda x: int(x), input().split()))
outarr = [0]
crt = 0
for i in range(n):
    if arr[i] == m and m > 0:
        crt = crt + arr[i] + 1
    if arr[i] == m and m < 0:
        crt = crt + arr[i] - 1
    else:
        crt = crt + arr[i]
    outarr.append(crt)

outarr.sort()
print(outarr[-1])

寻找最富裕的小家庭

while True:
    n = int(input())
    my = list(map(lambda x: int(x), input().split()))
    arr1 = [list(map(lambda x: int(x), input().split())) for j in range(n - 1)]
    outdict = {}
    for i in arr1:
        if outdict.get(str(i[0])):
            outdict[str(i[0])].append(i[1])
        else:
            outdict.setdefault(str(i[0]), [i[1]])
    arr2 = list(outdict.items())
    sumarr = []
    for i in arr2:
        arr3 = i[1]
        arr3.append(int(i[0]))
        arr4 = []
        for j in arr3:
            arr4.append(my[j-1])
        sumarr.append(sum(arr4))
    sumarr.sort()
    print(sumarr[-1])

查找接口成功率最优时间段

k = int(input())
li = list(map(lambda x: int(x), input().split()))
outli = []
for i in range(len(li)):
    sum = li[i]
    tmpli = []
    for j in range(i + 1, len(li)):
        sum += li[j]
        if sum / (j - i + 1) <= k:
            outli.append([i, j])
for i in range(len(outli) - 1):
    for j in range(len(outli) - i - 1):
        if outli[j][-1] - outli[j][0] > outli[j + 1][-1] - outli[j + 1][0]:
            outli[j], outli[j + 1] = outli[j + 1], outli[j]
        elif outli[j][-1] - outli[j][0] == outli[j + 1][-1] - outli[j + 1][0] and outli[j][-1] <outli[j + 1][-1]:
            outli[j], outli[j + 1] = outli[j + 1], outli[j]
outli2 = []
if outli[-1][-1] - outli[-1][0] == outli[0][-1] - outli[0][0]:
    for i in outli:
        outli2.append("{}-{}".format(str(i[0]), str(i[-1])))
elif outli[-1][-1] - outli[-1][0] == outli[-2][-1] - outli[-2][0] and outli[-1][-1] - outli[-1][0] > outli[0][-1] - \
        outli[0][0]:
    for i in range(len(outli) - 1, -1, -1):
        if outli[i][-1] - outli[i][0] == outli[-1][-1] - outli[-1][0]:
            outli2.append("{}-{}".format(str(outli[i][0]), str(outli[i][-1])))
        else:
            break
else:
    outli2.append("{}-{}".format(str(outli[-1][0]), str(outli[-1][-1])))
print(" ".join(outli2))

分割均衡字符串

str1 = input()
ysum = 0
xsum = 0
sum = 0

for i in str1:
    if i == "X":
        xsum += 1
    else:
        ysum += 1

    if ysum == xsum:
        sum += 1
        ysum = 0
        xsum = 0

print(sum)

虚拟游戏理财

pdtn, sumitmmy, risksum = list(map(lambda x: int(x), input().split()))
returnli = list(map(lambda x: int(x), input().split()))
riskli = list(map(lambda x: int(x), input().split()))
itmli = list(map(lambda x: int(x), input().split()))

outlist1 = [[riskli[i], returnli[i], itmli[i]] for i in range(pdtn)]
outlist2 = []
for i in range(pdtn):
    for j in range(i + 1, pdtn):
        if outlist1[i][0] <= risksum and outlist1[i][2] <= sumitmmy:
            outlist2.append([i])
        if outlist1[i][0] + outlist1[j][0] <= risksum and outlist1[i][2] + outlist1[j][2] <= sumitmmy:
            outlist2.append([i, j])


def total1(li):
    if len(li) == 1:
        total = outlist1[li[0]][1] * outlist1[li[0]][2]
    else:
        total = outlist1[li[0]][1] * outlist1[li[0]][2] + outlist1[li[1]][1] * outlist1[li[0]][2]
    return total


for i in range(len(outlist2) - 1):
    for j in range(len(outlist2) - i - 1):
        if total1(outlist2[j]) > total1(outlist2[j + 1]):
            outlist2[j], outlist2[j + 1] = outlist2[j + 1], outlist2[j]

outlist3 = [0 for i in range(pdtn)]

if len(outlist2[-1]) > 1:
    outlist3[outlist2[-1][0]] = outlist1[outlist2[-1][0]][2]
    outlist3[outlist2[-1][1]] = outlist1[outlist2[-1][1]][2]
else:
    outlist3[outlist2[-1][0]] = outlist1[outlist2[-1][0]][2]
print(" ".join(list(map(lambda x: str(x), outlist3))))

靠谱的车

while True:
    line = input()
    N = line.strip()
    index = 0

    offset = 0
    before_offset = 0
    while index < len(N):
        cur_n = N[len(N) - 1 - index]
        if cur_n != "0":
            offset += int(cur_n) * before_offset
            if cur_n > "4":
                offset += 10 ** index - before_offset
        before_offset = before_offset * 9 + 10 ** index
        index += 1
    print(int(N) - offset)

执行时长

m = int(input())
n = int(input())
li = list(map(lambda x: int(x), input().split()))
sumt = 0

z = 0
y = 0
for i in range(n):

    if li[i] > m:
        sumt += 1
        if i < n - 1:
            li[i + 1] += li[i] - m
    else:
        sumt += 1

if li[-1] - m > m:
    z = (li[-1] - m) // m
    y = (li[-1] - m) % m
    if y > 0:
        sumt = sumt + y
    sumt += z
elif 0 < li[-1] - m <= m:
    sumt += 1
print(sumt)