寻找身高相近的小朋友
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)