第一题:求矩阵相乘
s1=input()
m = int(s1.split()[0])
k = int(s1.split()[1])
n = int(s1.split()[2])
A =[]
B =[]
for i in range(m):
A.append([int(i) for i in input().split()])
for i in range(k):
B.append([int(i) for i in input().split()])
def matrix_multiply(A,B):
if len(A[0])==len(B):
res =[[0]*len(B[0]) for i in range(len(A))]
for i in range(len(A)):
for j in range(len(B[0])):
for K in range(len(B)):
res[i][j]+=A[i][K]*B[K][j]
return res
result = matrix_multiply(A,B)
for i in range(m):
for j in range(n):
print(result[i][j],end=" ")
print(end="\n")
第二题装箱问题(贪心)
def z(a):
count = 0
pos = 0
curr = 0
while(sum(b)<len(b)):
for i in range(len(a)):
if b[i] == 0:
curr = a[i]
pos = i
b[i] = 1
break
for i in range(pos+1,len(a)):
if a[i]<curr and b[i]==0:
b[i] = 1
curr = a[i]
count = count+1
return count
if __name__ == "__main__":
s = input()
a = [int(i) for i in input().split()]
i = 0
a.sort(reverse=True)
b = [0] * len(a)
result=z(a)
print(result)